【问题标题】:How to use fakerjs in Cypress如何在赛普拉斯中使用 fakerjs
【发布时间】:2019-10-13 02:10:31
【问题描述】:

我试图在我的 cypress 测试中使用 fakerjs 来为我的表单随机生成假数据。我试过在support/index.js 中导出它,但没有成功。

是否有任何标准方法可以将 fakerjs 添加到所有 cypress 规范而不是将其添加到每个规范文件中?

【问题讨论】:

    标签: cypress ui-testing faker


    【解决方案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.
    

    【讨论】:

    【解决方案3】:

    我试过了,发现很简单。步骤如下,

    1- 需要伪造者

    const faker = require("faker");
    

    2- 你想要这样的用户

       Variable declaration -> var firstName = faker.Name.findName();
       Use in locator -> cy.get("#firstName").type(firstName);
    

    希望对你有帮助:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-12-23
      • 1970-01-01
      • 2022-11-17
      • 1970-01-01
      • 2020-08-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多