Cypress的钩子函数

简介: Cypress的钩子函数

大家好,我是阿萨。昨天学习了如何使用describe,context,specify 和it 去组织自动化测试用例。大家也学会了如何去写好一个test suites了。


有同学就问了,之前用selenium 或者其他测试框架的时候,都有setup 和teardown 等函数。cypress 咋没见这2个函数。哪如何实现每个测试的suite 之前都执行某个代码逻辑或者是每个测试用例之前都需要执行代码?


今天我们就来学习下cypress的 钩子函数。


Cypress 和Mocha 一样提供四个钩子函数:

  • before() ----当前测试套件,所有测试用例之前执行。
  • after()---当前测试套件,所有测试用例之后执行。
  • beforeeach()----当前测试套件,每个测试用例之前执行。
  • aftereach()-----当前测试套件,每个测试用例之后执行。


它们的作用是测试开始时设置测试的先决条件(比如准备测试数据)。或者测试结束后对测试环境进行清理(例如清理DB)。使用个例子看一下。

 describe('1st Describe to show 1st suite ', () => {
     before(function(){
        cy.log("Will run before all test scripts.")
    }
    )
     beforeEach(function(){
        cy.log("Will run before each testing scripts.")
    })
     afterEach(function(){
        cy.log("Will run after each testing scripts.")
    })
     describe('Describe Inside Describe to show nested suite', () => {
        it('first test inside', () => {
            cy.log('first test inside')
            assert.equal(true, true)
        })
    })
    it('1st test', () => {
         cy.log('1st test')
        assert.equal(true, true)
    })
    specify('2nd test', () => {
        cy.log('2nd test')
        assert.equal(true, true)
    })
     after(function(){
        cy.log("Will run after all test scripts.")
    })
})
 context('2nd suite', () => {
    it('first test', () => {
        cy.log('first test')
        assert.equal(true, true)
    })
    it('2nd test', () => {
        cy.log('2nd test')
        assert.equal(true, true)
    })
  })


这是例子的执行结果,通过例子的执行结果可以清晰的看出作用域。

image.png

image.png


你学会了吗?


相关文章
|
7月前
|
JavaScript 小程序
在uniapp vue3 setup语法糖中调用onLoad、onShow等生命周期
在uniapp vue3 setup语法糖中调用onLoad、onShow等生命周期
|
8月前
|
JavaScript 前端开发
理解Vue2的生命周期钩子
从基础到实战,我们一环都不要少!
39 0
|
8月前
|
JavaScript
Vue等待页面渲染完毕 nextTick 方法
Vue等待页面渲染完毕 nextTick 方法
169 0
|
10月前
|
缓存 JavaScript 前端开发
【Vue3 第十章】生命周期钩子
【Vue3 第十章】生命周期钩子
114 2
|
前端开发 JavaScript Windows
JavaScript中的钩子(钩子机制\钩子函数\hook)是什么?
我们前端的JavaScript中,经常提到钩子,毋庸置疑,那这个东西肯定也尤为重要。
156 0
|
监控
钩子 (Hook)
钩子 (Hook)
171 1
|
JavaScript
Vue3入门指北(九)生命周期钩子
Vue3入门指北(九)生命周期钩子
Vue3入门指北(九)生命周期钩子
|
测试技术 API
【pytest官方文档】解读- 插件开发之hooks 函数(钩子)
【pytest官方文档】解读- 插件开发之hooks 函数(钩子)
【pytest官方文档】解读- 插件开发之hooks 函数(钩子)
|
JavaScript API
Vue 常用的生命周期钩子(8个)
Vue 常用的生命周期钩子(8个)
154 0
Vue 常用的生命周期钩子(8个)
|
缓存 前端开发 JavaScript
React Hook丨用好这9个钩子,所向披靡
React Hook丨用好这9个钩子,所向披靡
114 0

热门文章

最新文章