iT邦幫忙

2021 iThome 鐵人賽

DAY 19
0
Modern Web

自動化 End-End 測試 Nightwatch.js系列 第 19

自動化 End-End 測試 Nightwatch.js 之踩雷筆記:select option

  • 分享至 

  • xImage
  •  

相信 E2E 一定有做過遇到這種需要選擇的部分,結構大致上會長這樣

<select class="select">
    <option value="0">01</option>
    <option value="1">02</option>
    <option value="2">03</option>
    <option value="3">04</option>
    <option value="4">05</option>
    <option value="5">06</option>
    <option value="6">07</option>
    <option value="7">08</option>
    <option value="8">09</option>
    <option value="9">10</option>
    <option value="10">11</option>
    <option value="11">12</option>
</select>

https://ithelp.ithome.com.tw/upload/images/20211004/20120250wkw9iyk2C5.png

遇到 select option 的組合可以使用 click 的方式:

.click('select')
.click(`option[value="1"]`);

多半時間都可以正常使用,也可以跨瀏覽器執行

不過當 select list 太長時,option 已經超多螢幕頁面,就會出現這樣的 error

Element <option> could not be scrolled into view

除了請前端修改外,其實還可以使用 setValue 的方式:

.setValue('select', '1');

注意,需要設定的 value 為 option 中的 value 喔


上一篇
自動化 End-End 測試 Nightwatch.js 之踩雷筆記:iframe
下一篇
自動化 End-End 測試 Nightwatch.js 之踩雷筆記:Regex
系列文
自動化 End-End 測試 Nightwatch.js30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言