- Cypress教程
- Cypress - 主页
- Cypress - 简介
- Cypress - 架构和环境设置
- Cypress - 测试运行者
- Cypress - 构建第一个测试
- Cypress - 支持的浏览器
- Cypress - 基本命令
- Cypress - 变量
- Cypress - 别名
- Cypress - 定位器
- Cypress - 断言
- Cypress - 文本验证
- Cypress - 异步Behave
- Cypress - 使用 XHR
- Cypress - jQuery
- Cypress - 复选框
- Cypress - 标签
- Cypress - 下拉菜单
- Cypress - 警报
- Cypress - 子窗口
- Cypress - 隐藏元素
- Cypress - 框架
- Cypress - 网络表
- Cypress - 鼠标操作
- Cypress - cookie
- Cypress - 获取和发布
- Cypress - 文件上传
- Cypress - 数据驱动测试
- Cypress - 提示弹窗
- Cypress - 仪表板
- Cypress - 屏幕截图和视频
- Cypress - 调试
- Cypress - 自定义命令
- Cypress - 装置
- Cypress - 环境变量
- Cypress - 挂钩
- Cypress - JSON 文件的配置
- Cypress - 报告
- Cypress - 插件
- Cypress - GitHub
- Cypress有用资源
- Cypress - 快速指南
- Cypress - 有用的资源
- Cypress - 讨论
Cypress - 装置
添加Cypress夹具来维护和保存测试数据以实现自动化。这些装置保存在 Cypress 项目的装置文件夹(example.json 文件)内。基本上,它帮助我们从外部文件获取数据输入。
Cypress 装置文件夹可以包含 JSON 或其他格式的文件,并且数据以“键:值”对的形式维护。
所有测试数据均可用于多次测试。所有夹具数据都必须在 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 - 修改响应超时。默认值为 30000 毫秒。cy.fixture() 的等待时间,先于抛出异常。
example.json 中的实现
下面给出的是 Cypress 中使用example.json进行数据驱动测试的实现-
{ "fullName": "Robert", "number": "789456123" }
实际测试实施
Cypress 中实际数据驱动测试的实现如下 -
describe('Tutorialspoint Test', function () { //part of before hook before(function(){ //access fixture data cy.fixture('example').then(function(regdata){ this.regdata=regdata }) }) // test case it('Test Case1', function (){ // launch URL cy.visit("https://register.rediff.com/register/register.php") //data driven from fixture cy.get(':nth-child(3) > [width="185"] > input') .type(this.regdata.fullName) cy.get('#mobno').type(this.regdata.number) }); });
执行结果
输出如下 -
输出日志显示值 Robert 和 789456123 分别输入到“全名”和“手机号码”字段。该数据已从夹具传递至测试。