专栏首页从零开始学自动化测试Cypress web自动化38-alert 弹窗

Cypress web自动化38-alert 弹窗

前言

当页面上出现 alert 弹窗时候,Cypress 自动接受 alert, 运行代码的时候虽然看不到弹窗页面,但是依然可以对文本内容断言

Alert 弹窗

Cypress 自动接受 alert,但您仍然可以对文本内容进行断言,使用示例

// app code
$('button').on('click', (e) => {
  alert('hi')
  alert('there')
  alert('friend')
})

it('can assert on the alert text content', () => {
  const stub = cy.stub()

  cy.on('window:alert', stub)

  cy
    .get('button').click()
    .then(() => {
      expect(stub.getCall(0)).to.be.calledWith('hi')
      expect(stub.getCall(1)).to.be.calledWith('there')
      expect(stub.getCall(2)).to.be.calledWith('friend')
    })
})

百度搜索案例

百度-搜索设置-保存设置,弹出alert

/**
 * Created by dell on 2020/6/9.
 * 作者:上海-悠悠 交流QQ群:939110556
 */

describe('baidu alert', function() {

    before( function() {
        cy.visit("https://www.baidu.com/")

        cy.get("#s-usersetting-top").trigger('mouseover')  // 鼠标悬停
        cy.contains("搜索设置").click()
    })

    it('assert alert text', () => {
      const stub = cy.stub()
      cy.on('window:alert', stub)

      cy
          .contains("保存设置").click()
          .then(() => {
          expect(stub.getCall(0)).to.be.calledWith('已经记录下您的使用偏好')
        })
    })

    })

运行结果

本文分享自微信公众号 - 从零开始学自动化测试(yoyoketang),作者:上海悠悠

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-06-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Selenium2+python自动化47-判断弹出框存在(alert_is_present)

    前言 系统弹窗这个是很常见的场景,有时候它还没弹出来去操作的话,会抛异常,这就需要去判断弹窗是否弹出了。 本篇接着Selenium2+python自动化42-判...

    上海-悠悠
  • Cypress学习14-window窗口属性

    To get the document object, use the cy.document() command. 要获取document对象,请使用cy.d...

    上海-悠悠
  • Cypress学习10-Navigation 导航功能(go,reload,visit)

    上海-悠悠
  • jq将form 表单数据转为object

    我平常上传数据都是使用$(this).serialize(),但是这次我需要使用上传数据的对象。结果这个方法给我转成了字符串。特别不方便。于是找到一个插件。就可...

    魔王卷子
  • Android用webView包装WebAPP方法

    前一阵子,老板要将 WebAPP 放到 Android 和 iOS 里面,而我因为以前做过安卓,所以这方面就由我来打包,原理是很简单的,就是打开 APP 的时候...

    砸漏
  • vue - v-model实现自定义样式の多选与单选

    来不及研究为什么,我先直接在原来项目上赶紧建了一个test页面,先赶紧实现我的这种设想:

    xing.org1^
  • 雪花代码

    <style type="text/css"> .large-header {background: #333;} </style> <div id="la...

    似水的流年
  • js 函数function用法

    javascript 函数不同于其他的语言,每个函数都是作为一个对象被维护和运行的。通过函数对象的性质,可以很方便的将一个函数赋值给一个变量或者将函数作为参数传...

    阳光岛主
  • Spark on Yarn资源配置

    工作期间,我提交spark任务到yarn上,发现指定的资源(使用内存大小。使用core的个数)总是与yarn的UI页面显示的资源使用量不一致,写本文说明一下这个...

    CoderJed
  • 考虑玩家,考虑乐趣

    王兵

扫码关注云+社区

领取腾讯云代金券