Cypress 简明教程
Cypress - Fixtures
利用 Cypress 的装置来维护并保存自动化的测试数据。 装置保存在 Cypress 项目中的装置文件夹(example.json 文件)中。基本上,它帮助我们从外部文件读取数据输入。
Cypress 装置文件夹可以具有 JSON 或其他格式的文件,数据保存在“键:值”对中。
所有测试数据都可以被多个测试使用。所有固定数据都必须在 before 钩子块内声明。
Syntax
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)
在此,
-
path of test data 是固定数据文件夹内测试数据文件的路径。
-
encoding type - 编码类型(utf-8、asci 等)用于读取文件。
-
Opts - 修改响应的超时时间。默认值为 30000ms。cy.fixture() 的等待时间,之前抛出异常。
Implementation in example.json
以下是 example.json 在 Cypress 中使用数据驱动测试的实现 −
{
"fullName": "Robert",
"number": "789456123"
}
Implementation of Actual Test
在 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)
});
});
Execution Results
输出如下 −
输出日志显示值 Robert 和 789456123 分别被输入到姓名和手机号码字段。此数据已从装置传递到测试。