【问题标题】:Protractor - properly handling the errors...量角器 - 正确处理错误...
【发布时间】:2016-11-29 06:05:09
【问题描述】:

我已尝试输入描述性错误消息并通过 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) 看到“Accept Budget button is not visible”错误,然后等待超时

2) 请参阅“无法设置内部预算。终止测试运行”错误

3) 预计量角器会立即存在测试运行,因为我们遇到了失败。

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

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

【问题讨论】:

    标签: javascript testing automation jasmine protractor


    【解决方案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');
    });
    

    【讨论】:

    • 太好了,谢谢您的回复!!我仍然遇到的唯一问题是脚本不会立即退出 - 它执行相同规范中的所有以下“它”并打印出无意义的消息/错误......我想,不可能让量角器退出测试运行失败()函数。但在你的帮助下,我得到了 99% 的我想要的东西——我真的很感激!!
    • @Misha 啊,忘了注意这是默认行为。请查看jasmine-bail-fast 是否适合您。谢谢。
    • 再次感谢您,我会试试看。需要注意的是,npm install jasmine-bail-fast 引起了一些非常可疑的警告: -- jasmine-bail-fast@0.0.1 extraneous npm WARN optional Skipping failed optional dependency /chokidar/fsevents: npm WARN notsup 与您的操作不兼容系统或架构:fsevents@1.0.14 注意 - 我在 Windows 7 上......希望这件事能正常工作 - 我会让你知道
    • 暂时放弃 jasmine-bail-fast 的想法 - Jasmine 2 不支持它,这就是我们所拥有的......我还研究了 jasmine-fail-fast(失败保释的包装-fast) 和 protractor-fail-fast,但没有明确的说明如何使用它们(即 conf 文件中的条目、规范等),还有很多人抱怨它现在正在工作——所以可能不值得花时间去调查.. . 我希望 Jasmine 开发能更好地了解如何处理这个常见请求(管理何时退出量角器测试运行)......哦,好吧!
    猜你喜欢
    • 2015-02-19
    • 1970-01-01
    • 1970-01-01
    • 2019-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-10
    相关资源
    最近更新 更多