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


你学会了吗?


相关文章
|
1月前
|
JavaScript
理解 Vue 的 setup 应用程序钩子
【10月更文挑战第3天】`setup` 函数是 Vue 3 中的新组件选项,在组件创建前调用,作为初始化逻辑的入口。它接收 `props` 和 `context` 两个参数,内部定义的变量和函数需通过 `return` 暴露给模板。`props` 包含父组件传入的属性,`context` 包含组件上下文信息。`setup` 可替代 `beforeCreate` 和 `created` 钩子,并提供类似 `data`、`computed` 和 `methods` 的功能,支持逻辑复用和 TypeScript 类型定义。
42 11
|
6月前
|
JavaScript 前端开发 算法
vue生命周期函数原理解析,vue阻止事件冒泡方法实现
vue生命周期函数原理解析,vue阻止事件冒泡方法实现
Vue3使用hook封装常见的几种异步请求函数场景,让开发更加丝滑🚀🚀🚀
Vue3使用hook封装常见的几种异步请求函数场景,让开发更加丝滑🚀🚀🚀
|
6月前
|
JavaScript API
Vue自定义hook函数
Vue自定义hook函数
|
JavaScript 小程序
在uniapp vue3 setup语法糖中调用onLoad、onShow等生命周期
在uniapp vue3 setup语法糖中调用onLoad、onShow等生命周期
|
缓存 JavaScript 前端开发
【Vue3 第十章】生命周期钩子
【Vue3 第十章】生命周期钩子
195 2
|
前端开发 测试技术
react新出来两个钩子函数是什么?和删掉的will系列有什么区别?
react新出来两个钩子函数是什么?和删掉的will系列有什么区别?
|
监控
钩子 (Hook)
钩子 (Hook)
227 1
|
前端开发
react hook学习2-hook使用注意的事项
react hook学习2-hook使用注意的事项
83 0
react hook学习2-hook使用注意的事项
|
JavaScript 前端开发
生产环境调用vue devtool的脚本
前端开发中大多常用技术栈都是简单易上手的vue。平时项目开发中配合使用vue-devtools如鱼得水。但是现网环境出现状况,如何快速定位问题呢?下面的操作让你调试现网环境就像开发时一样。
339 0