LoginSignup
0
0

More than 5 years have passed since last update.

Nightwatch.js: 特定の CSS selector にマッチするUI要素を全てクリック

Posted at

使いどころ

「不定個のボタンやメニュー要素が生成される」ような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 にした方がキモチイイかもしれないが、このままでも評価された順にイベントが投げられる、はずだ。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0