如果显示该元素,则测试失败

时间:2016-10-22 14:21:48

标签: protractor

我需要一种方法来使测试失败并显示特定消息。例如,如果元素isDisplayed()我希望测试失败

element(myElement).isDisplayed().then(function(result) {
  if (result) {
  //test fail
  }
else {
 //do something else
 }
}

3 个答案:

答案 0 :(得分:0)

如果您使用jasmine进行报告,则可以通过为expect语句实现自定义匹配器来覆盖自定义错误消息。 注意:我们可以直接将自定义错误消息作为expect语句的附加参数传递,但这是未记录的功能,因此将来可能不支持。这是将其实现为自定义匹配器的更好方法。

答案 1 :(得分:0)

您可以使用jasmine' done.fail

it('your test', (done) => {
  element(myElement).isDisplayed().then((result) => {
    if (result) {
      done.fail('a custom error message');
    }
    //do something else
  });
});

答案 2 :(得分:0)

您可以简单地将失败消息作为额外参数传递给jasmine匹配器以解决每个故障。请参阅下面的示例。

expect(element(myElement).isDisplayed()).toBe(true,'myElement is not displayed in the page.')

如果上述expect语句失败,此处消息myElement is not displayed on the page.将显示在console / reporter中。