量角器 - 正确处理错误......

时间:2016-07-25 18:58:12

标签: javascript testing automation jasmine protractor

我试图通过fail()函数输入描述性错误消息并退出测试运行,但只是部分成功 - 看来我做错了...这是我的代码:

it('set up internal budget', function(done) {
    var acceptBudgetButton = element(by.buttonText('Accept Budget'));
    page.setInternalBudget();  //setting budget values

    browser.wait(function() {
      return browser.isElementPresent(acceptBudgetButton);
    }, 30000, 'Error - Accept Budget button is not visible.');
    acceptBudgetButton.click();
    done();
    done.fail('Unable to setup internal budget. Terminating test run');
  });

何时"接受预算"按钮不可用我希望这个脚本有3件事:

1)参见"接受预算按钮不可见"错误,然后是等待时间

2)参见"无法设置内部预算。终止试运行"错误

3)当我们陷入失败时,期望量角器立即进行测试运行。

在现实中,只有第一个期望得到满足。脚本继续运行,我甚至没有得到#34;无法设置内部预算"错误...所以看起来我的done.fail语句被忽略了。

我应该改变什么才能实现我的所有梦想/期望?

1 个答案:

答案 0 :(得分:1)

是的,done之后不会执行任何操作。我要做的是定义browser.wait()的成功和失败处理程序。这些方面的东西:

browser.wait(function() {
  return browser.isElementPresent(acceptBudgetButton);
}, 30000).then(
    function () {
        acceptBudgetButton.click();
        done();
    },
    function () {
        console.log('Error - Accept Budget button is not visible.');
        done.fail('Unable to setup internal budget. Terminating test run');
});