关于等待超时错误的自定义消息

ale*_*cxe 2 testing selenium end-to-end jasmine protractor

我不时使用量角器 1.7 中引入的“预期条件”功能

用例

var EC = protractor.ExpectedConditions;
browser.wait(EC.visibilityOf(header.displayName), 10000);
Run Code Online (Sandbox Code Playgroud)

哪里header是页面对象。

如果header.displayName在 10 秒内不可见,则会抛出错误:

[firefox #4]   2) Describe description here
[firefox #4]    Message:
[firefox #4]      Error: Wait timed out after 10082ms
[firefox #4]    Stacktrace:
[firefox #4]      Error: Wait timed out after 10082ms
[firefox #4] ==== async task ====
[firefox #4]     at [object Object].<anonymous> (/Path/to/project/test/e2e/my.spec.js:38:17)
Run Code Online (Sandbox Code Playgroud)

这不是很可读,需要一些时间来理解和研究。

题:

是否可以自定义这种等待超时错误?


仅供参考,我们可以提供自定义expect失败消息,如下所述:

P.T*_*.T. 5

我相信browser.wait()需要 3 个参数:条件、可选超时和可选描述消息。(我很确定这是文档:http : //angular.github.io/protractor/#/api? view= webdriver.WebDriver.prototype.wait,但我很难验证 WebDriver 是否显示像browser量角器一样)。所以你应该能够做到:

var EC = protractor.ExpectedConditions;
var timeoutMS = 10 * 1000;
var timeoutMsg = "Waiting for header displayName";
browser.wait(EC.visibilityOf(header.displayName), timeoutMS, timeoutMsg);
Run Code Online (Sandbox Code Playgroud)