В нашем приложении, когда мы нажимаем кнопку, оно открывает файл PDF на новой вкладке браузера.Я пытаюсь проверить, что URL открыт правильно, поэтому я написал код, следуя ответам, данным здесь :
G.View_Doc_Button.click();
browser.sleep(2000);
browser.getAllWindowHandles().then(function (handles) {
console.log(handles);
let newWindowHandle = handles[1];
browser.driver.switchTo().window(newWindowHandle).then(function() {
browser.getCurrentUrl().then(function(Tab){
expect(Tab).toBe('localhost:10001/assets/Doc.pdf');
});
browser.close();
browser.driver.switchTo().window(handles[0]);
});
// browser.driver.switchTo().window(handles[1]);
// browser.driver.close();
// browser.driver.switchTo().window(handles[0]);
});
Сбой кода в следующих строках:
browser.getCurrentUrl().then(function(Tab){
expect(Tab).toBe('localhost:10001/assets/Doc.pdf');
});
Поскольку на вкладке открывается документ PDF, скорее всего, это приводит к сбою.ошибка:
"AfterAll Failed: Ошибка при ожидании синхронизации транспортира со страницей:" и angularJS тестируемость, и угловая тестируемость не определены.Это может быть связано либо с тем, что это неугловая страница, либо из-за того, что ваш тест включает в себя навигацию на стороне клиента, которая может помешать начальной загрузке Protractor.См. https://github.com/angular/protractor/issues/2643 для получения подробной информации ""
Обратите внимание, что, если я удаляю часть проверки URL, код работает нормально.но это превосходит мою цель.
Как это можно решить?