WebdriverIO 常用指令 (API) 語法
指令種類
- Protocol
- Action
- Utility
- Property
- State
- Mobile (暫時跳過)
Protocol
選取元素
browser.element('div');
$('div');
browser.elements('div');
$$('div');
前往某網址
browser.url('http://www.google.com');
Action
設定欄位的值
browser.element('.email').setValue('[email protected]');
// 縮寫
$('.email').setValue('[email protected]');
點選欄位的值
browser.click('.some-button');
// 縮寫
$('.some-button').click();
$('[title="Sign Out"]').click();
Utility
檢查某個元素是否存在
browser.waitForExist('.alert-text');
// 縮寫
$('.alert-text').waitForExist();
暫停
browser.pause(5000);
除錯
browser.debug();
加命令
browser.addCommand();
waitForExist
browser.element('.notification').waitForExist();
browser.element('.notification').waitForExist(5000);
browser.element('.notification').waitForExist(5000, true);
// 或
browser.waitForExist('.notification');
browser.waitForExist('.notification', 5000);
browser.waitForExist('.notification', 5000, true);
saveScreenshot
browser.saveScreenshot('front_page.png');
end
client
.init()
.url('http://google.com')
.end();
// ends session and close browser
Property
取得某個元素的文字
browser.getText('.alert-text');
// 縮寫
$('.alert-text').getText();
取得某個元素的值
browser.getValue('input[name=email]');
取得標題
browser.getTitle();
取得網址
browser.getUrl();
State
isEnabled
<input type="text" name="inputField" class="input1">
<input type="text" name="inputField" class="input2" disabled>
<input type="text" name="inputField" class="input3" disabled="disabled">
var isEnabled = browser.isEnabled('.input1');
console.log(isEnabled); // outputs: true
var isEnabled2 = browser.isEnabled('.input2');
console.log(isEnabled2); // outputs: false
var isEnabled3 = browser.isEnabled('.input3')
console.log(isEnabled3); // outputs: false
isSelected
<select name="selectbox" id="selectbox">
<option value="Daisy">Daisy</option>
<option value="Alin" selected="selected">Alin</option>
<option value="Andy">Andy</option>
</select>
$('[value="Layla Terry"]').isSelected(); // 輸出: true
browser.selectByValue('#selectbox', 'Bill Gilbert');
element.isSelected(); // 輸出: false
isExisting / isVisible
<div id="notDisplayed" style="display: none"></div>
<div id="notVisible" style="visibility: hidden"></div>
<div id="notInViewport" style="position:absolute; left: 9999999"></div>
<div id="zeroOpacity" style="opacity: 0"></div>
browser.isExisting(selector);