Javascript 量角器:捕捉断言错误

Javascript 量角器:捕捉断言错误,javascript,protractor,chai,chai-as-promised,Javascript,Protractor,Chai,Chai As Promised,为了创建一个基于javascript的测试工具,我使用了量角器和Chai,就像我承诺的那样 AssertionError:应为'http://localhost:8888/test/homepage.php“平等”http://localhost:8888/test/my_homepage.php“ 当我使用此步骤定义检查url时: this.Then(/^The url of the page should be "([^"]*)"$/, function(myUrl, callback){

为了创建一个基于javascript的测试工具,我使用了量角器Chai,就像我承诺的那样

AssertionError:应为'http://localhost:8888/test/homepage.php“平等”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挡块,但似乎不起作用。我甚至不能理解,如果断言错误是由量角器生成的,你能温和地给我解释一下吗


提前谢谢你

我找不到任何可以捕获expect错误并执行其他操作的东西。如果@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 ')); 
}

notify
这里的帮助:
expect(browser.getCurrentUrl()).to.finally.equal(myUrl).notify(yourcallback)
?我不知道为什么,但是callback.fail()不是一个可识别的函数。看起来它们在0.7.0中删除了
callback.fail()
。检查。您可能只想执行,
callback(新错误('something gorror')错误现在是->语法错误:意外标记非法:(你能试着只放一个字符串而不是一个错误对象吗?我更新了应答器相同的结果:(是否存在可以找到回调参数的文档?