如何在赛普拉斯中使用 fakerjs
Posted
技术标签:
【中文标题】如何在赛普拉斯中使用 fakerjs【英文标题】:How to use fakerjs in Cypress 【发布时间】:2019-10-13 02:10:31 【问题描述】:我试图在我的 cypress 测试中使用 fakerjs 来为我的表单随机生成假数据。我试过在support/index.js
中导出它,但没有成功。
是否有任何标准方法可以将 fakerjs 添加到所有 cypress 规范而不是将其添加到每个规范文件中?
【问题讨论】:
【参考方案1】:首先,在每个规范中都导入它有什么问题?
话虽如此,你可以这样做:
cypress/support/index.js:
cy.faker = require('faker');
您的规格:
it(`test`, () =>
const words = cy.faker.lorem.words();
);
【讨论】:
这不起作用,当我们调用我们 calll cy.faker 时,它正在失去对现有选择器的引用,我们可以将它作为实用程序,就像我们有 lodash(Cypress._)、moment.(Cypress.时刻).etc 不确定“它正在失去对现有选择器的引用”是什么意思。 当我尝试使用像 cy.get('#myinput').type(cy.faker.firstName()) 这样的伪造者时,它给了我一个错误,即 cy 没有将有效输入引用到类型 这与cy.faker
无关,而是与cy.type
。解决cy.type
错误(可能是因为cy.get()
没有找到可操作的元素),它会起作用。
如果我有简单的文本 cy.get('#myinput').type('abc'),cy.type() 正在工作,但如果我使用 cy.faker,它会因上述错误而失败.firstName(),无论如何,我可以在没有 cy 的情况下实现这一点。前缀,类似于 const faker = require('faker') 和我的实际语句 cy.get('#myinput').type(faker.firstName())。谢谢你的线索。【参考方案2】:
For reference javascript :-
Https://zetcode.com/javascript/fakerjs/
You can use these in cypress :-
npm i faker
const faker = require("faker");
let username = faker.name.findName()
let email = faker.internet.email()
let password = faker.internet.password()
Use all these in single specs file.
【讨论】:
看看下面的链接写一个好答案:***.com/help/how-to-answer【参考方案3】:我试过了,发现很简单。步骤如下,
1- 需要伪造者
const faker = require("faker");
2- 你想要这样的用户
Variable declaration -> var firstName = faker.Name.findName();
Use in locator -> cy.get("#firstName").type(firstName);
希望对你有帮助:)
【讨论】:
以上是关于如何在赛普拉斯中使用 fakerjs的主要内容,如果未能解决你的问题,请参考以下文章