实习功能测试 - 在一组中按顺序单击按钮

时间:2014-12-23 16:24:38

标签: javascript selenium selenium-webdriver functional-testing intern

我正在使用Intern功能测试中的一组按钮,我希望能够按顺序对每个按钮运行测试。我的页面如下所示:

<input type="button" text="Button 1" class="myBtn">    
<input type="button" text="Button 2" class="myBtn">    
<input type="button" text="Button 3" class="myBtn">    

我的测试如下:

return remote
    .findAllByClassName('myBtn')
        .then(function(btns) {
            var btn1 = btns[0];
            return btn1;
        })
        .click()
        .end()
        .then(function(btns) {
            var btn2 = btns[1];
            return btn2;
        })
        .click()
        .end()
        .then(function(btns) {
            var btn3 = btns[2];
            return btn3;
        })
        .click()
        .end()
    .end()

使用Intern进行此类迭代测试的正确方法是什么?

1 个答案:

答案 0 :(得分:0)

您可以使用基本的递归调用按顺序迭代每个返回的按钮并单击它们:

return remote
  .findAllByClassName('myBtn')
  .then(function (buttons) {
    var i = -1;

    function next() {
      var button = buttons[++i];
      return button ? button.click().then(next) : null;
    }

    return next();
  })
  .end();