自動化測試,讓你上班擁有一杯咖啡的時間 | Day 27 — 學習 cypress window 的用法

史卯郁
Oct 11, 2021

此系列文章會同步發文到13th鐵人賽,有興趣的讀者可以前往觀看喔。

今天要跟大家分享當網站有用到 Javascript prompt 時,要如何測試。

cy.window(): Get the window object of the page that is currently active.

cy.window()
cy.window(options)

cy.stub(): Replace a function, record its usage and control its behavior.

cy.stub()
cy.stub(object, method)
cy.stub(object, method, replacerFn)
  1. Javascript prompt: 輸入文字用,會有一個輸入框和確認/取消按鈕

2. 動手寫程式

describe('JavaScript Alerts, Confirm, Prompt in Cypress', () => {
beforeEach(() => {
cy.visit('<https://www.seleniumeasy.com/test/javascript-alert-box-demo.html>')
})
it('JS Prompt - 輸入文字並按確定', () => {
cy.window().then(($win) => {
cy.stub($win, 'prompt').returns('Jennifer')
cy.get('.row > .col-md-6 > .panel:nth-child(6) > .panel-body > .btn').click() //點選按鈕
})
cy.get('#prompt-demo').contains("You have entered 'Jennifer' !") //應該要有You have entered 'Jennifer' !
})
})

3. 結果

參考資料

--

--