Protractor async/await - ECONNREFUSED connect ECONNREFUSED 127.0.0.1:49437

protractorjs
webdriver
Теги: #<Tag:0x00007fedb99c53c0> #<Tag:0x00007fedb99c5258>

(Прокопук Дмитрий) #1

Обновился до ноды 8.9
Protractor версии 5.2, chromedriver 2.33, server standalone 3.7.1, chrome 62
Начал переписывать тесты без control flow и столкнулся с такой штукой(по собственным наблюдениям):
присваиваю текст коллекции веб элементов переменной
let a = await elements.getText() ;
И если через несколько шагов я использую эту переменную( не обязательно через несколько) или применяю к ней map или filter то обязательно где-то я получу ECONNREFUSED connect ECONNREFUSED 127.0.0.1:49437 - все это дело с direct connection true
Если отключить direct connection true и запустить selenuim server, то получим более понятную ошибку java.net.ConnectException: Connection refused: connect
Может кто-нибудь сталкивался с эти и знает как это побудить(смена selenuimAddress на http://localhost:4444/wd/hub не спасает)


(Oleksandr Khotemskyi) #2

Скорее всего где то пропущен await и код пытается выполнятся уже после смерти драйвера


(Oleksandr Khotemskyi) #3

Можете показать полный код?


(Прокопук Дмитрий) #5

вроде бы понял в чем причина
все в механизме ожидания
ошибки я получал когда использовал такую структуру
expect(await foo).toEqual()
заменил на await expect(foo).toEqual(), убрал ненужные await и завелось
Сейчас подебажу и отпишусь, в этом ли была причина или нет


(Oleksandr Khotemskyi) #6

Я планировал как то написать eslint/tslint/vscode plugin чтобы помогать отлавливать где забыл авейт в протракторе