Я начинаю изучать тест e2e с помощью Protractor в нашем приложении Angular. Сейчас я пытаюсь проверить маршрутизацию на одной из страниц. Все, что нужно сделать, - это раскрутить объект страницы и щелкнуть верхнюю строку наших тестовых данных с идентификатором 7. Этот триггер (click) -Event должен вызвать событие маршрутизации, которое приведет меня на нужную страницу.
forwarding.e2e-spec.ts
let detailsPage: ForwardingDetailsPo;
beforeAll(async () => {
page = new ForwardingPagePo();
await page.navigateTo();
detailsPage = new ForwardingDetailsPo();
table = await page.getForwardingTablePo();
await table.getTable().getRow('7').click();
});
afterEach(async () => {
await detailsPage.navigateTo('7');
});
it('should navigate to details', async (done) => {
browser.getCurrentUrl().then(url => {
expect(url).toContain('administration/forwardings/7');
done();
}
);
});
});
После этого я пытаюсь проверить, изменился ли URL. Похоже, что автоматически открываемый браузер, в котором выполняются тесты, отлично выполняет задание, но тест не пройден:
Expected 'http://localhost:4200/administration/forwardings' to contain 'administration/forwardings/7'.
Я уже проверил, что в строке, которую я пытаюсь щелкнуть .isPresent()
.
Как вы можете заметить, я пытался засорять код сообщениями, которые ожидают, чтобы избежать запуска теста до завершения маршрутизации, но, похоже, он не работает идеально.
Намекает кто-нибудь?
______ РЕДАКТИРОВАТЬ _______
Решение не имело никакого отношения к самому клику, подробности см. В моем ответе.