使用 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.tw/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