如果在量角器中不满足条件,是否可以打印文本消息?

时间:2016-05-12 06:20:07

标签: protractor

我的代码:

this.condition = function() {
        element(by.partialLinkText('Times Jobs')).isDisplayed().then(function (result) {
            if (result) {
                element(by.partialLinkText('Times Jobs')).click();
            } else {
                console.log('Times source not found')
            }
        });
    }

如果页面中没有显示“Times Jobs”,那么它应该显示else语句中的任何文本。我怎么能这样做?

我不想让测试失败,只需要在控制台中打印该文本。

2 个答案:

答案 0 :(得分:2)

您可以isPresent()使用isDisplayed(),但如果您想继续使用element(by.partialLinkText('Times Jobs')).isDisplayed().then(function (result) { if (result) { element(by.partialLinkText('Times Jobs')).click(); } else { console.log('Times source in page but not displayed'); } }, function() { console.log('Times source not in page'); }); ,则必须处理在其错误回调中找不到该元素的情况退回承诺:

element(by.partialLinkText('Times Jobs')).isDisplayed().then(function (result) {
  if (result) {
    element(by.partialLinkText('Times Jobs')).click();
  } else {
    return protractor.promise.rejected();
  }
}).catch(function() {
  console.log('Times source not in page or in page and not displayed');  
});

或者,如果您想在两个不存在的情况下输出相同的消息 在页面中,或在页面中但未显示,您可以...

var a = "test";

答案 1 :(得分:0)

你可以尝试这个::

PREFERRED_VERSION_<recipe> = <version>

好像页面上没有元素而不是元素未找到错误