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


你学会了吗?


相关文章
|
前端开发 JavaScript
cypress 如何定位元素?
cypress 如何定位元素?
324 0
cypress 如何定位元素?
|
Kubernetes 调度 Docker
一键安装k8s脚本
一键安装k8s脚本
833 2
|
Kubernetes API 调度
21道题帮你轻松拿捏 Kubernetes 面试
21道题帮你轻松拿捏 Kubernetes 面试
|
搜索推荐 测试技术 数据库
QPS、TPS、RT、并发数、吞吐量分别是什么意思
QPS、TPS、RT、并发数、吞吐量分别是什么意思
3772 0
|
Web App开发 Shell 数据安全/隐私保护
CURL常用命令
下载单个文件,默认将输出打印到标准输出中(STDOUT)中 curl http://www.centos.org 通过-o/-O选项保存下载的文件到指定的文件中: -o:将文件保存为命令行中指定的文件名的文件中 -O:使用URL中默认的文件名保存文件到本地 1 # 将文件下载到本地并命名为mygettext.
8372 0
|
5月前
|
人工智能 JSON 运维
🚀🚀 【MCP + AI】grafana-mcp-analyzer:基于 MCP 的轻量图表分析助手
`grafana-mcp-analyzer` 是一个开源项目,通过 MCP 协议连接 AI 助手与 Grafana,实现智能分析监控数据。只需简单配置,AI 可快速解读图表,提供性能瓶颈、优化建议等专业分析,极大提升运维效率。支持多种数据源(Prometheus、ES 等),适配 ChatGPT、Claude 等模型,部署轻量,操作便捷。从此告别深夜手动排查问题,让 AI 成为你的智能运维专家!项目地址:<https://github.com/SailingCoder/grafana-mcp-analyzer>
751 1
🚀🚀 【MCP + AI】grafana-mcp-analyzer:基于 MCP 的轻量图表分析助手
|
JavaScript 安全 前端开发
TypeScript类型声明:基础与进阶
通过本文的介绍,我们详细探讨了TypeScript的基础与进阶类型声明。从基本数据类型到复杂的泛型和高级类型,TypeScript提供了丰富的工具来确保代码的类型安全和可维护性。掌握这些类型声明能够帮助开发者编写更加健壮和高效的代码,提高开发效率和代码质量。希望本文能为您在使用TypeScript时提供实用的参考和指导。
316 2
|
10月前
|
数据挖掘 测试技术 项目管理
2025年测试用例管理看这一篇就够了 ----Codes 开源免费、全面的测试管理解决方案
Codes 是国内首款重新定义 SaaS 模式的开源项目管理平台,支持云端认证、本地部署、全部功能开放,并且对 30 人以下团队免费。它通过整合迭代、看板、度量和自动化等功能,简化测试协同工作,使敏捷测试更易于实施。并提供低成本的敏捷测试解决方案,如同步在线离线测试用例、流程化管理缺陷、低代码接口自动化测试和 CI/CD,以及基于迭代的测试管理和测试用时的成本计算等,践行敏捷测试。
2025年测试用例管理看这一篇就够了 ----Codes 开源免费、全面的测试管理解决方案
|
存储 C++ 容器
C++一分钟之-正则表达式库(regex)
【7月更文挑战第7天】C++从C++11开始支持正则表达式,通过`&lt;regex&gt;`库提供功能。本文涵盖基本概念如`std::regex`、`std::smatch`,以及`regex_search`和`regex_match`的使用。常见问题包括大小写敏感性、特殊字符转义、贪婪与非贪婪匹配和捕获组。提供的代码示例展示了如何进行匹配、不区分大小写的匹配、特殊字符匹配、贪婪与非贪婪匹配和捕获组的使用。理解并练习正则表达式能提升文本处理效率。
543 0
|
Oracle jenkins Java
【Jenkins】使用java -jar jenkins.war --httpPort=XXXX启动Jenkins报错【解决方案】
【Jenkins】使用java -jar jenkins.war --httpPort=XXXX启动Jenkins报错【解决方案】