4

我正在使用ProtractorChai 作为 Promised来创建一个基于 javascript 的测试工具,但我收到了错误

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

当我使用此步骤定义检查 url 时:

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

    callback();
  });

我想捕捉这个错误以使用不同的回调函数,我该怎么做?我尝试使用 try-catch 块,但它似乎不起作用。我什至无法理解是否AssertionErrors是由 Protractor 生成的,您能否对此轻轻地给我一个解释?

先感谢您

4

1 回答 1

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 ')); 
}
于 2016-01-14T23:41:09.340 回答