javascript – 量角器:捕获AssertionError

我正在使用Protractor和Chai作为承诺,以创建一个基于
javascript的测试工具,我收到错误

AssertionError:预期’http:// localhost:8888 / test / homepage.php’等于’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块但它似乎不起作用.我甚至无法理解Protractor是否产生了AssertionErrors,你能轻轻地给我一个解释吗?

先感谢您

最佳答案 我找不到任何能够从预期中捕获错误并做其他事情的事情.如果@ 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 ')); 
}
点赞