当前位置: 首页 > article >正文

Cypress测试框架详解:轻松实现端到端自动化测试!

Cypress 是一个功能强大、易于使用的自动化测试工具,适用于现代 Web 应用的端到端测试。它的自动化处理、实时反馈、调试功能和易于集成的特性,使得它成为现在测试人员的热门测试框架选择

什么是 Cypress 框架?

Cypress 是一款开源的 JavaScript 自动化测试框架,是基于 NodeJS 的现代自动化工具,专为端到端测试设计,用于简化 Web 应用的测试自动化。支持使用 JavaScript 或 TypeScript 编写测试脚本。虽然推出时间较短,但凭借其易用性和高效性,Cypress 已成为测试人员实施自动化测试的热门选择。

为什么选择 Cypress 进行自动化测试?

Cypress 因以下特点备受青睐:

  1. 跨浏览器测试 支持在多种浏览器上运行测试,包括 Chrome、Firefox、Edge 等

  2. 简单易用 安装 Cypress 非常简单,无需复杂的依赖配置,适用于新老项目

  3. 无缝集成 与 CI 工具(如 Jenkins)持续集成结合。

  4. 自动等待 自动等待页面元素加载,无需显式的等待或sleep语句。

  5. 强大的调试能力内置调试工具可与浏览器开发者工具集成,方便排查问题。

如何安装 Cypress?

环境要求:
  1. 安装 Visual Studio Code。

  2. 安装 NodeJS。

安装步骤:
  1. 创建一个新文件夹(如 cypressdemo)。

  2. 在文件夹内打开终端。

  3. 执行以下命令安装 Cypress:

    npm install cypress --save-dev

  4. 安装完成后,启动 Cypress:

    npx cypress open

此命令将打开 Cypress 测试运行器,可以选择E2E Testing或者Component Testing。

图片

5. 配置Cypress

这里我们选择E2E Testing,选择默认配置继续

图片

图片

选择Cypress给我们生成的一些示例测试脚本:

图片

Cypress 文件夹结构介绍

图片

当Cypress工程结构初始化完毕之后,我们可以使用VScode打开工程,存在以下目录结构:

  • cypress cypress核心目录,包含所有与测试相关的子文件夹和文件。默认情况下,Cypress 在运行 npx cypress open 后会自动生成该目录。

  • node_modules 存储 Cypress 和其他 NPM 依赖项的文件。

  • cypress.config.js 全局配置文件,用于设置 Cypress 的运行参数

  • package.json 定义 Cypress 相关依赖和运行脚本

  • package-lock.json npm 自动生成的一个文件,它用于记录项目中所有已安装的依赖项的精确版本

cypress核心目录结构如下:

  • e2e:存放测试用例的文件夹。

  • fixtures:存储测试数据,例如 JSON 文件。

  • support:包含自定义命令和全局设置的文件夹。

编写第一个 Cypress 测试脚本

我们在 e2e 文件夹下创建名为 demo.cy.js 的测试文件:

describe('我的第一个 Cypress 测试', () => {  it('访问网站并验证标题', () => {    cy.visit('https://www.baidu.com');    cy.title().should('include', '百度一下');  });});

如何运行 Cypress 测试?

Cypress 提供两种测试运行方式:

1、使用 Cypress 测试运行器(UI)


执行以下命令打开测试运行器:

npx cypress open

选择 demo.cy.js 文件运行测试。

图片

2、使用命令行(CLI)运行测试
 

命令示例:

npx cypress run --spec "./cypress/e2e/demo.cy.js"

以上命令在无头模式下运行测试,后台执行,无需启动浏览器。

图片

Cypress 工作机制

图片

Cypress 的测试执行流程如下:

  1. 用户与应用交互后,测试脚本向 Cypress Runner 发送指令。

  2. Runner 与代理服务器通信,向应用服务器发送请求。

  3. 应用服务器处理请求并返回响应。

  4. Cypress Runner 记录快照和视频。

  5. 测试人员根据结果验证应用的功能。

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。


http://www.kler.cn/a/464130.html

相关文章:

  • 1.1.1 认识时间复杂度
  • ubuntu22.04录屏黑屏,飞书共享屏幕黑屏问题
  • 游戏如何检测iOS越狱
  • 蓝桥杯JAVA--003
  • 解決當前IP地址僅適用於本地網路
  • 《HarmonyOS第一课》焕新升级,赋能开发者快速掌握鸿蒙应用开发
  • driftingblues2
  • 从零用java实现 小红书 springboot vue uniapp (7)im 在线聊天功能 关注功能
  • 常见硬件及其对应的驱动模块列表
  • [极客大挑战 2019]Knife1
  • 实际开发中,常见pdf|word|excel等文件的预览和下载
  • JUnit注解,枚举
  • 利用Java爬虫获取1688店铺详情:一篇详细的技术指南
  • 2021年福建公务员考试申论试题(县级卷)
  • Python世界:报错Debug之referenced before assignment
  • filebeat采集应用程序日志和多行匹配
  • Cornerstone3D:了解Nifti文件,并查看元数据
  • 【CPU】RISC-V 与 x86 操作数字段的区别
  • MySQL的锁机制及排查锁问题
  • 手机更换屏幕后,会被防控软件识别为模拟器!!
  • 02-专业问题
  • 基于SpringBoot和OAuth2,实现通过Github授权登录应用
  • wx014基于springboot+vue+uniapp的智能小程序商城
  • 六年之约day5
  • python脚本,读取当前目录文件名,写入excel表格,并给对应文件名分配mac
  • 动态规划模式