Сначала я попробовал это
let url = await pa.getPageURL("Employees");
console.log("URL "+url);
Затем я попробовал это. Оба выдают ошибку тайм-аута, но печатают правильный URL-адрес.
it('should be able to open Employees page',async () => {
loginPg.login();
pa.getPageURL("Employees").then(function(url){
console.log("URL "+url);
expect(url).toContain("employees");
})
})
async getPageURL(pageName){
this.menu.click()
let url = element(by.xpath('//span[contains(.,"'+pageName+'")]')).click().then(function(){
return browser.getCurrentUrl();
})
return url;
}
Я пишу тест, в котором он щелкает ссылку на страницу в меню и подтверждает URL-адрес. Он работает нормально, щелкает ссылку и переходит на нужную страницу. Я также убедился, что console.log правильно печатает URL-адрес в приведенном выше коде. Но он терпит неудачу каждый раз с ошибкой тайм-аута.
- Ошибка: тайм-аут - асинхронный c обратный вызов не был вызван в течение тайм-аута, указанного jasmine.DEFAULT_TIMEOUT_INTERVAL. в ontimeout (таймеры. js: 475: 11) в tryOnTimeout (таймеры. js: 310: 5)
Что мне здесь не хватает? Все остальные мои тесты работают нормально. Пожалуйста, помогите!