前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Cypress web自动化16-参数化,数据驱动测试案例

Cypress web自动化16-参数化,数据驱动测试案例

作者头像
上海-悠悠
发布2020-05-18 15:52:25
7940
发布2020-05-18 15:52:25
举报

前言

自动化测试里面参数化思想是非常重要的,同一类型的测试,只需维护不同的数据就可以了。 对每组测试数据自动生成对应的测试用例,并且每个测试用例的结果互不影响,不能因为第一个失败了,后面的用例就不执行了。

自动生成用例

可以使用JavaScript动态生成测试,以下是官方文档给的案例

describe('if your app uses jQuery', () => {
  ['mouseover', 'mouseout', 'mouseenter', 'mouseleave'].forEach((event) => {
    it('triggers event: ' + event, () => {
      // if your app uses jQuery, then we can trigger a jQuery
      // event that causes the event callback to fire
      cy
        .get('#with-jquery').invoke('trigger', event)
        .get('#messages').should('contain', 'the event ' + event + 'was fired')
    })
  })
})

这段代码会自动生成4个用例

> if your app uses jQuery
  > triggers event: 'mouseover'
  > triggers event: 'mouseout'
  > triggers event: 'mouseenter'
  > triggers event: 'mousele

测试案例

以百度搜索输入框为案例,分别输入 英文,中文,数字三种情况针对输入框的测试结果

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

describe('参数化案例,输入不同的值', function() {
    // 定义测试数据
    var testdatas = ["yoyo", "上海-悠悠", "123456"]
    // 前置-打开浏览器
    before(() => {
          cy.visit('https://www.baidu.com')
        })

    // 参数化
    testdatas.forEach((event) => {
        it("百度输入框功能", function () {
            cy.get('#kw').type(event)
                .should('have.value', event)
                .clear()
                .should('have.value', '')
        })
    })
    })
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-05-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 测试案例
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档