Protractor полностью зависает при попытке получить какое-либо свойство элемента после входа в систему (IDK, если это связано с входом в систему или связано только с переключением страниц).
it("Should get location of main container", async function() {
await LoginPage.validLogin();
// Works and logs in the dashboard
await browser.sleep(3000);
// Get the main container by class name
const container = await element(by.css(".main-container"));
// Logs properly the element functions (as expected)
console.log(container);
console.log(await container.getLocation()); // Hangs here
});
В этом случае я пытаюсьполучить расположение основного элемента контейнера на странице.Первый console.log запускается и отображается правильно, а второй полностью зависает, поэтому я получаю тайм-аут сценария.Увеличение времени ожидания совсем не помогает ...
В Интернете я обнаружил, что неправильное использование $ timeout в AngularJS вместо использования $ interval может привести к такому странному поведению, но я действительно не могу просмотреть все(очень большая!) кодовая база проекта, чтобы изменить все, надеясь, что это просто работает, не говоря о внешних библиотеках, использующих $ timeout.
У меня SELENIUM_PROMISE_MANAGER = false;в моей конфигурации Protractor, поэтому я отключил встроенный поток управления, чтобы вручную управлять обещаниями, используя async / await, но даже если я использую встроенный поток управления без использования async / await, я получаю то же самое поведение и ошибку.Я использую Жасмин в качестве основы тестирования.
Может быть, я что-то упустил?Любая помощь будет высоко ценится, спасибо!