使いどころ
「不定個のボタンやメニュー要素が生成される」ようなUIをテストする時
方針
.elements()
で、テストしたいUI要素を探して、それぞれに対して .elementIdClick()
で click
イベントを投げつける。
実装
module.exports = {
'iter-buttons': function(client) {
function iter($elems) {
$elems.value.forEach(function($e) {
// console.log($e); // printf かくにん用
client.elementIdClick($e.ELEMENT)
})
}
client
.elements('css selector', 'button.my-button.to-iterate', iter);
// この CSS selector を自分のほしいものに
},
};
蛇足
- わざわざ XPath を使いたい場合、
'css selector'
を'xpath'
にして、selector の部分を XPath式にすればできる。 - Nightwatch.js の API はすべて CPS 形式なので、繰り返しも
forEach
じゃなくて CPS にした方がキモチイイかもしれないが、このままでも評価された順にイベントが投げられる、はずだ。