我刚开始使用cypress自动化,但遇到了JSON文件。有人知道我该如何读取JSON文件吗?比如说,它位于../example/vehicle.json中。我知道cypress是JavaScript,但在cypress项目中导入JQuery时也遇到了麻烦。
mftmpeh81#
据我所知,这是访问存储在json文件中的数据的"Cypress"方式。ref: https://docs.cypress.io/api/commands/fixture.html#Accessing-Fixture-Data
cy.fixture('user').then((user) => { var name = user.name var pass = user.password })
其中"用户"是/fixtures/用户. json
{ "name": "username", "password": "password1234" }
lokaqttq2#
嘿柏树怪胎我有成功使用它
cy.fixture(profile.json).then((user) => { // Delay each keypress by 0.1 sec cy.get('#username').type(user.email, { delay: 100 }).should('have.value', user.email) cy.get('#password').type(user.password) })
41ik7eoe3#
我从未与Cypress合作过,在查看文档时,我认为这可能会对您有所帮助
cy.fixture(filePath) cy.fixture(filePath, encoding) cy.fixture(filePath, options) cy.fixture(filePath, encoding, options)
请访问https://docs.cypress.io/api/commands/fixture.html#Syntax
woobm2wo4#
为了防止这对任何人都有帮助,有一个很好的方法可以用下面的行来实现:
cy.readFile('path/to/file.json/txt/yaml')
https://docs.cypress.io/api/commands/readfile.html
5cg8jx4n5#
你可能会发现这对你的问题和组织你的项目很有用。假设你在这里有你的输入文件:
fixtures │ └───website │ orders.json │ ... │ └───mobile subCancel.json ...
您可以创建一个support方法,返回给定json文件所在文件夹的名称:
getFolderForJson(jsonName) { let value; switch (jsonName) { case 'subCancel': value = 'mobile'; break; case ... //add your custom cases } return value; }
将JSON阅读逻辑放在一个命令中,以便在测试中重用:
Cypress.Commands.add('readJson', (jsonName) => { cy.fixture(jsonName).then(json => { return JSON.parse(JSON.stringify(json) ); }); });
然后在测试操作/Assert中使用json文件属性:
let folder = new BasePage().getFolderForJson(jsonName); cy.readJson(folder + '/' + jsonName + '.json').then((data) => { cy.get('selector').type(data.shippingAddress); //use your own json files/properties }
s2j5cfk06#
在fixtures文件夹中创建一个UserData.json文件,并按如下方式定义值:
UserData.json
{ "Name": "Ghulam Nabi", "Password":"Admin123" }
现在,在测试文件中
cy.fixture(‘UserData.json’).then((user) => { cy.get(‘#txtUsername’).type(user.Name) cy.get(‘#txtPassword’).type(user.Password) });
这只是一个例子。你可以通过这个方法做很多事情。免费提供:https://softans.com/get-user-data-from-json-file-in-cypress/
6条答案
按热度按时间mftmpeh81#
据我所知,这是访问存储在json文件中的数据的"Cypress"方式。
ref: https://docs.cypress.io/api/commands/fixture.html#Accessing-Fixture-Data
其中"用户"是/fixtures/用户. json
lokaqttq2#
嘿柏树怪胎我有成功使用它
41ik7eoe3#
我从未与Cypress合作过,在查看文档时,我认为这可能会对您有所帮助
请访问https://docs.cypress.io/api/commands/fixture.html#Syntax
woobm2wo4#
为了防止这对任何人都有帮助,有一个很好的方法可以用下面的行来实现:
https://docs.cypress.io/api/commands/readfile.html
5cg8jx4n5#
你可能会发现这对你的问题和组织你的项目很有用。假设你在这里有你的输入文件:
您可以创建一个support方法,返回给定json文件所在文件夹的名称:
将JSON阅读逻辑放在一个命令中,以便在测试中重用:
然后在测试操作/Assert中使用json文件属性:
s2j5cfk06#
在fixtures文件夹中创建一个
UserData.json
文件,并按如下方式定义值:现在,在测试文件中
这只是一个例子。你可以通过这个方法做很多事情。
免费提供:https://softans.com/get-user-data-from-json-file-in-cypress/