赛普拉斯:有没有办法编写一个可以使用 UI 检查复选框的命令
Cypress: Is there a way to write a command that can check a checkbox using UI
目前,我正在按照下面的 cypress 示例进行操作,它非常适合 type 命令。但是,我的命令太多了,我正在尝试尽可能地压缩其中的命令。在这种情况下,我只需要能够在某些测试中选中一个框,但不确定我将如何去做。任何提示/提示/建议将不胜感激。 :)
Cypress.Commands.add('typeLogin', (user) => {
cy.get('input[name=email]').type(user.email)
cy.get('input[name=password]').type(user.password)
cy.get('input[name=checkbox]').check(user.checkbox)?
})
测试中:
const user = { email: 'fake@email.com', password: 'Secret1' }';
cy.typeLogin(user ) => {...
您可以在数据模型中提供要使用的复选框(或是否 check/not 选中复选框)。从那里,您有几个不同的选项,具体取决于您的应用程序的设置方式。如果只有一个复选框需要选中或不选中,则可以使用布尔值(下面的 useCheckbox
)。如果有多个值可供选择,您可以传入一个字符串来使用(这可以是一个选择器,如果有不同的选择器,或者一个值,如果它是具有不同值的相同选择器)。
const user = { email: 'foo@foo.com', password: 'foo', useCheckbox: true, checkbox: 'bar' }
...
Cypress.Commands.add('typeLogin', (user) => {
cy.get('input[name=email]').type(user.email)
cy.get('input[name=password]').type(user.password)
// we could use either `useCheckbox` to evaluate a boolean
if (user.useCheckbox) {
cy.get('input[name=checkbox]').check()
}
// or we could use the the `checkbox` field if we always to to check, we're just unsure of the value.
// in the first case, `user.checkbox` is the selector to use
cy.get(user.checkbox).check()
// in this second case, `user.checkbox` is the value to select
cy.get('input[name=checkbox]').check(user.checkbox)
})
目前,我正在按照下面的 cypress 示例进行操作,它非常适合 type 命令。但是,我的命令太多了,我正在尝试尽可能地压缩其中的命令。在这种情况下,我只需要能够在某些测试中选中一个框,但不确定我将如何去做。任何提示/提示/建议将不胜感激。 :)
Cypress.Commands.add('typeLogin', (user) => {
cy.get('input[name=email]').type(user.email)
cy.get('input[name=password]').type(user.password)
cy.get('input[name=checkbox]').check(user.checkbox)?
})
测试中:
const user = { email: 'fake@email.com', password: 'Secret1' }';
cy.typeLogin(user ) => {...
您可以在数据模型中提供要使用的复选框(或是否 check/not 选中复选框)。从那里,您有几个不同的选项,具体取决于您的应用程序的设置方式。如果只有一个复选框需要选中或不选中,则可以使用布尔值(下面的 useCheckbox
)。如果有多个值可供选择,您可以传入一个字符串来使用(这可以是一个选择器,如果有不同的选择器,或者一个值,如果它是具有不同值的相同选择器)。
const user = { email: 'foo@foo.com', password: 'foo', useCheckbox: true, checkbox: 'bar' }
...
Cypress.Commands.add('typeLogin', (user) => {
cy.get('input[name=email]').type(user.email)
cy.get('input[name=password]').type(user.password)
// we could use either `useCheckbox` to evaluate a boolean
if (user.useCheckbox) {
cy.get('input[name=checkbox]').check()
}
// or we could use the the `checkbox` field if we always to to check, we're just unsure of the value.
// in the first case, `user.checkbox` is the selector to use
cy.get(user.checkbox).check()
// in this second case, `user.checkbox` is the value to select
cy.get('input[name=checkbox]').check(user.checkbox)
})