Транспортир: поймать AssertionError
Я использую Protractor с Chai, как и было обещано, для создания инструмента тестирования на основе 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, можете ли вы мягко дать мне объяснение по этому поводу?
заранее спасибо
1 ответ
Я не мог найти ничего, что могло бы отловить ошибки и сделать что-то еще. Если предложение @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 '));
}