Cypress系列(22)- 可操作類型的命令 之 select()

如果想從頭學起Cypress,可以看下面的系列文章哦

//www.cnblogs.com/poloyy/category/1768839.html

 

.select()

在 <select> 中選擇一個 <option> 

 

語法格式

// 選中指定值的選項
.select(value)

// 選中指定值的多個選項
.select(values)

// 選中指定值的選項,且帶參數
.select(value, options)

// 選中指定值的多個選項,且帶參數
.select(values, options)

 

參數講解

 

正確用法

// 選擇 值=user的 option
cy.get('select').select('user')

 

錯誤用法

// 不能直接通過 cy 調用
cy.select('John Adams')

// location 並不是 select 元素
cy.location().select()

 

前端 html 程式碼

後面的多個 .select() 栗子都以這個 html 頁面為基礎哦

 

.select(value) 的栗子

測試文件程式碼

重點

 .select() 可以傳 value 屬性(「1」),或者文本內容(「oranges」)

 

.select(values) 的栗子

測試文件程式碼

  • 後面再講 .invoke() 
  • 需要注意,如果要選多個 option 的話, <select> 必須這樣寫 <select multiple> 

 

.select(value, options) 的栗子

測試文件程式碼

重點

因為第二個 <select> 默認是不可見狀態,所以不加 {force:true} 會報錯,如下圖

  • 它的錯誤提示也很明顯指明了解決方案
  • use {force : true} to disable error checking【通過 { force : true } 來禁止錯誤檢查】

 

再來看看元素不可見時,命令會提示啥

  • this element is not visible
  • 簡直不要太人性化好吧

 

.select(values, options) 的栗子

測試文件程式碼

 

特殊場景

html 程式碼

<select disabled>
    <option value="sz">深圳</option>
    <option value="gz">廣州</option>
</select>

重點是 select 加了 disabled

 

測試程式碼

cy.get("select").eq(2).select("sz", {force: true})

 

測試結果

即使加了 {force : true} ,也不會禁止檢查 <select> 是否可以選擇 option,如果加了disabled,代表不可選擇,所以仍然報錯

 

結尾

本文是部落客基於對蔡超老師的《Cypress 從入門到精通》閱讀理解完後輸出的博文,並附上了自己的理解

對書籍感興趣的,大家可以參考本篇部落格://www.cnblogs.com/poloyy/p/13052972.html,考慮自身需求進行購買

 

我的部落格即將同步至騰訊雲+社區,邀請大家一同入駐://cloud.tencent.com/developer/support-plan?invite_code=12vd92hxgwgj1