使用 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');
   });
});

更新於:2020年8月5日

10K+ 瀏覽量

開啟你的 職業生涯

透過完成課程獲得認證

開始學習
廣告

© . All rights reserved.