Удаленка для jenkins+selenide+selenoid+allure+docker спецов на 2-3 часа в день. 100% remote! Присоединиться к проекту

пишет ошибку при таймаута при написании кейса в javascript

mocha
node
nodejs
testng
selenium
javascript
Теги: #<Tag:0x00007fedbacbb830> #<Tag:0x00007fedbacbb5d8> #<Tag:0x00007fedbacbb498> #<Tag:0x00007fedbacbb358> #<Tag:0x00007fedbacbb218> #<Tag:0x00007fedbacbb0d8>

(Lodo4ka) #1

У меня все пишет ошибку при написании сценариев в selenium-webdriver. Я знаю что тесты надо на промисах (у них есть реализация на PROMISE_MANAGER), но вот когда начинают отрабатывать асинхронные пользовательские сценарии то начинает писать ошибку с таймаутом. Я попробовал отключить PROMISE_MANAGER но у меня тоже выдает ошибку и тесты не запускаются. У кого был опыт с этим то помогите
Я попытался сделать …

У меня получилось …

У меня не получилось …

Код

        let elementFirst = await driver.wait(until.elementLocated(By.css(addClientBtn)),20000);
        let buttonFirst = await driver.wait(until.elementIsVisible(elementFirst), 20000);
        await buttonFirst.click();

        let elementSecond = await driver.wait(until.elementLocated(By.name('19')), 20000);
        let inputSecond = await driver.wait(until.elementIsVisible(elementSecond), 20000);
        await inputSecond.sendKeys('bla');
    });

Логи и ошибка вот такая …
Error: Timeout of 2000ms exceeded. For async tests and hooks, ensure “done()” is called; if returning a Promise, ensure it resolves. - Вот такая ошибка таймаута на промисах

Unable to create a managed promise instance: the promise manager has been disabled by the SELENIUM_PROMISE_MANAGER environment variable: undefined - вот такая ошибка при отключении менеджера промисов

Версии ОС и софта следующие …
ubuntu 16.04
“selenium-webdriver”: “^3.6.0”
“mocha”: “^5.2.0”


(Bolatbek) #2

Вставьте код полностью, максимально обезличив )) (убрав локаторы). Не забыли объявить в it() -
async ?


(Lodo4ka) #3

Ой извините, я конечно не понимаю что значит слово локаторы но вот весь код моего теста:
describe(‘describe testing’, function () {
it(‘test case’, async function () {
let elementFirst = await driver.wait(until.elementLocated(By.css(addClientBtn)),20000);
let buttonFirst = await driver.wait(until.elementIsVisible(elementFirst), 20000);
await buttonFirst.click();

    let elementSecond = await driver.wait(until.elementLocated(By.name('19')), 20000);
    let inputSecond = await driver.wait(until.elementIsVisible(elementSecond), 20000);
 await inputSecond.sendKeys('bla');

}
}

И вот всегда ругается на ошибку с таймаутами, я не понимаю почему так, подскажите что делать


(Bolatbek) #4

Увеличьте таймаут


(Lodo4ka) #5

я увеличивал но у меня все равно та же самая ошибка