使用 Cypress 进行复选框验证
Cypress 通过其内置函数来处理复选框的选中和取消选中操作。对于复选框,元素的标签名称应为 input,并且 html 代码中的 type 属性应为 checkbox。
使用的命令是 check()。此命令需要与提供 DOM 元素的命令链接,并且元素的类型应为复选框。以下是 check 命令的各种用法:
check() - 不带参数的 check() 命令会选中所有复选框。当它与 check() 方法链接时,get 方法应将 [type="checkbox"] 作为 CSS 选择器。
cy.get('[type="checkbox"]').check()check() - 不带参数的 check() 命令会选中具有特定 id 的复选框,该 id 作为参数传递给链接的 Cypress get() 命令。
cy.get('#option1').check()check('Value1') - 带有 value 作为参数的 check() 命令会选中具有指定值的复选框。当它与 check() 命令链接时,get 方法应将 [type="checkbox"] 作为 CSS 选择器。
cy.get('[type="checkbox"]').check('Tutorialspoint')check('Value1', 'Value2') - 带有 values 作为参数的 check() 命令会选中具有指定值的复选框。当它与 check() 命令链接时,get 方法应将 [type="checkbox"] 作为 CSS 选择器。
cy.get('[type="checkbox"]').check('Tutorialspoint', 'Selenium')check({ force: true }) - 带有 option 作为参数的 check() 命令会更改复选框的默认行为。可以有三种类型的选项:log、force 和 timeout,其默认值分别为 true、false 和 defaultCommandTimeout(4000 毫秒)。
cy.get('.check-boxes').should('not.be.visible').check({ force: true
}).should('be.checked')Cypress 使用 force 选项与隐藏元素交互,然后强制内部选中复选框。
与 check 命令类似,Cypress 中也存在 uncheck 命令。
使用的命令是 uncheck()。此命令需要与提供 DOM 元素的命令链接,并且元素的类型应为复选框。以下是 uncheck 命令的各种用法:
uncheck() - 不带参数的 uncheck() 命令会取消选中所有复选框。当它与 uncheck() 链接时,get 方法应将 [type="checkbox"] 作为 CSS 选择器。
cy.get('[type="checkbox"]').uncheck()uncheck() - 不带参数的 uncheck() 命令会取消选中具有特定 id 的复选框,该 id 作为参数传递给链接的 Cypress get() 命令。
cy.get('#option1').uncheck()uncheck('Value1') - 带有 value 作为参数的 uncheck() 命令会取消选中具有指定值的复选框。当它与 uncheck() 命令链接时,get 方法应将 [type="checkbox"] 作为 CSS 选择器。
cy.get('[type="checkbox"]').uncheck('Tutorialspoint')uncheck('Value1', 'Value2') - 带有 values 作为参数的 uncheck() 命令会取消选中具有指定值的复选框。当它与 uncheck() 链接时,get 方法应将 [type="checkbox"] 作为 CSS 选择器。
cy.get('[type="checkbox"]').uncheck('Tutorialspoint', 'Selenium')uncheck({ force: true }) - 带有 option 作为参数的 uncheck() 命令会更改复选框的默认行为。可以有三种类型的选项:log、force 和 timeout,其默认值分别为 true、false 和 defaultCommandTimeout(4000 毫秒)。
cy.get('.check-boxes').should('not.be.visible').uncheck({ force: true
}).should('be.unchecked')Cypress 使用 force 选项与隐藏元素交互,然后强制内部取消选中复选框。
我们可以在 Cypress 中的 check() 和 uncheck() 命令中应用断言。
示例
复选框代码实现。
describe('Tutorialspoint Test', function () {
// test case
it('Test Case2', function (){
cy.visit("https://tutorialspoint.com/selenium/selenium_automatio
n_practice.htm");
// checking by values
cy.get('input[type="checkbox"]')
.check(['Manual Tester','Automation Tester']);
// unchecking all values
cy.get('input[type="checkbox"]').uncheck();
// checking and assertion combined with and()
cy.get('input[value="Automation Tester"]')
.check().should('be.checked').and('have.value','Automation Tester');
// unchecking and assertion combined with and()
cy.get('input[value="Automation Tester"]')
.uncheck().should('not.be.checked');
});
});
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C 语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP