量角器:捕获AssertionError

时间:2016-01-13 16:50:11

标签: javascript protractor chai chai-as-promised

我正在使用量角器 Chai作为承诺,以便创建基于javascript的测试工具,我收到错误

AssertionError: expected 'http://localhost:8888/test/homepage.php' to equal 'http://localhost:8888/test/my_homepage.php'

我正在使用此步骤定义检查网址:

this.Then(/^The url of the page should be "([^"]*)"$/, function(myUrl, callback){
    expect(browser.getCurrentUrl()).to.eventually.equal(myUrl);

    callback();
  });

我想捕获此错误以便使用不同的回调函数,我该怎么做?我试过使用try-catch块但它似乎不起作用。我甚至无法理解量角器是否产生了AssertionErrors,你能温和地给我一个解释吗?

提前谢谢

1 个答案:

答案 0 :(得分:2)

我找不到任何能够从预期中捕获错误并做其他事情的事情。如果@ alecxe的评论建议有效,那应该是你的答案,否则为什么不做呢

browser.getCurrentUrl().then(function(url) {
    if(url === myUrl) {
       callback();
    } else {
       callback('something went wrong'); 
    }
});

或者这不起作用?

try {
  expect(browser.getCurrentUrl()).to.eventually.equal(myUrl);
  callback();
} catch(e) {
  callback('something went wrong ')); 
}