- Cypress 教程
- Cypress - 首页
- Cypress - 简介
- Cypress - 架构和环境设置
- Cypress - 测试运行器
- Cypress - 创建第一个测试
- Cypress - 支持的浏览器
- Cypress - 基本命令
- Cypress - 变量
- Cypress - 别名
- Cypress - 定位器
- Cypress - 断言
- Cypress - 文本验证
- Cypress - 异步行为
- Cypress - 使用 XHR
- Cypress - jQuery
- Cypress - 复选框
- Cypress - 标签页
- Cypress - 下拉菜单
- Cypress - 警报
- Cypress - 子窗口
- Cypress - 隐藏元素
- Cypress - 框架
- Cypress - 网页表格
- Cypress - 鼠标操作
- Cypress - Cookie
- Cypress - GET 和 POST 请求
- Cypress - 文件上传
- Cypress - 数据驱动测试
- Cypress - 提示弹出窗口
- Cypress - 仪表盘
- Cypress - 截图和视频
- Cypress - 调试
- Cypress - 自定义命令
- Cypress - Fixtures (夹具)
- Cypress - 环境变量
- Cypress - Hook (钩子)
- Cypress - JSON 文件配置
- Cypress - 报告
- Cypress - 插件
- Cypress - GitHub
- Cypress 有用资源
- Cypress - 快速指南
- Cypress - 有用资源
- Cypress - 讨论
Cypress - 数据驱动测试
Cypress 的数据驱动测试是借助 Fixtures 实现的。Cypress Fixtures 用于维护和保存自动化测试数据。
Fixtures 位于 Cypress 项目的 fixtures 文件夹中(例如 example.json 文件)。基本上,它帮助我们从外部文件获取数据输入。
Cypress fixtures 文件夹可以包含 JavaScript 对象表示法 (JSON) 或其他格式的文件,数据以“键值对”的形式维护。
所有测试数据都可以被多个测试使用。所有 Fixture 数据都必须在 before hook 块中声明。
语法
Cypress 数据驱动测试的语法如下:
cy.fixture(path of test data) cy.fixture(path of test data, encoding type) cy.fixture(path of test data, opts) cy.fixture(path of test data, encoding type, options)
这里,
测试数据路径 是 fixtures 文件夹中测试数据文件的路径。
编码类型 - 编码类型 (utf-8、asci 等) 用于读取文件。
Opts - 修改响应超时时间。默认值为 30000ms。在 cy.fixture() 之前等待时间会抛出异常。
example.json 中的实现
以下是使用 Cypress 中 example.json 的数据驱动测试的实现:
{ "email": "[email protected]", "password": "Test@123" }
实际测试的实现
Cypress 中实际数据驱动测试的实现如下:
describe('Tutorialspoint Test', function () { //part of before hook before(function(){ //access fixture data cy.fixture('example').then(function(signInData){ this.signInData = signInData }) }) // test case it('Test Case1', function (){ // launch URL cy.visit("https://www.linkedin.com/") //data driven from fixture cy.get('#session_key ') .type(this.signInData.email) cy.get('# session_password').type(this.signInData.password) }); });
执行结果
输出如下:
输出日志显示值 [email protected] 和 Test@123 分别被馈送到电子邮件和密码字段。这些数据已从 fixtures 传递到测试中。
广告