【问题标题】:Using variables in get() in Cypress在赛普拉斯的 get() 中使用变量
【发布时间】:2021-01-20 11:16:53
【问题描述】:

我想为我的网络应用程序中的注册流程编写多个测试。这意味着多次填写具有相同值的表单,如下所示:

 cy.get('[name="password1"]').type('qqqqqq')

为了使我的测试更易于维护,我想使用一个变量而不是“password1”,这样如果表单字段的名称发生更改,我只需在一个地方进行更改。换句话说,我想要这样的东西

cy.get('[name=MY_PASSWORD]').type('qqqqqq')

MY_PASSWORD 在测试文件或配置文件中设置。

我该怎么做?

【问题讨论】:

    标签: cypress


    【解决方案1】:

    您可以使用custom commands 来实现此目的。去cypress/support/commands.js写:

    Cypress.Commands.add('inputPassword', (myPassword) => {
      cy.get("[name=" + `"` + myPassword + `"` + "]").type('qqqqqq')
    })
    

    在你的测试中你可以写:

    cy.inputPassword(password1)
    

    【讨论】:

    • 刚刚意识到我可以这样做:cy.get(Cypress.env('signup_password1')).type('qqqqqq') 并在配置文件中指定变量signup_password1。您的解决方案可能会更优雅,谢谢!
    猜你喜欢
    • 1970-01-01
    • 2017-01-28
    • 2022-11-17
    • 2022-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-17
    相关资源
    最近更新 更多