自动化测试,让你上班拥有一杯咖啡的时间 | Day 27 - 学习 cypress window 的用法

此系列文章会同步发文到个人部落格,有兴趣的读者可以前往观看喔。

今天要跟大家分享当网站有用到 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: 输入文字用,会有一个输入框和确认/取消按钮
    https://ithelp.ithome.com.tw/upload/images/20211011/201408835MdliVInxY.png

  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. 结果
    https://ithelp.ithome.com.tw/upload/images/20211011/201408831z5AN3iRVe.png

参考资料


<<:  [Day26] Scrum失败经验谈 – Daily scrum变成daily report

>>:  【Day 28】支援向量机(Support Vector Machine, SVM)(上)

Day10 - 物理模拟篇 - 弹跳球世界I - 成为Canvas Ninja ~ 理解2D渲染的精髓

作为物理模拟开场的第一进程,当然就要来讲一下最经典的物理模拟案例:『弹跳球』~ 其实很多国外的Can...

课堂笔记 - 深度学习 Deep Learning (3)

简单了解前导知识後就是正式进入机器学习的几种模式>> Types Of Learning...

SQL server 启用 IFI 功能 - 心得分享

DBA Bootcamp 今天早上 Data warehouse 部门的人告诉我平常的 Data l...

Day7 我想知道它哪里比我好很多 在你心中它和我有什麽不同

JavaScript feature 随着越来越深入JavaScript,现在所考察和学习到的co...

[Day 25] Android Studio 七日陨石开发:一起来布局 App 介面!

前言 昨天我们成功的运行了自己做的App。 但我们还有2个步骤要做: 布局App元件 实作App功能...