WebdriverIO 常用指令語法

WebdriverIO 常用指令 (API) 語法

http://webdriver.io/api.html

指令種類

  • 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('aaa@bbb.com');
// 縮寫
$('.email').setValue('aaa@bbb.com');

點選欄位的值

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);

補充

驗證

assert.equal('實際文字內容', '預期文字內容');

results for ""

    No results matching ""