понедельник, 6 августа 2018 г.

Проверка, где зафейлилось, Селениум



В общем, чтобы проверить, в каком месте зафейлилось, надо добавлять строчки:

.then (()=> {console.log('****************************1')})


Так оно полегче как-то. Можно увидеть, где произошел краш.

1. В С. методы возвращают либо resolve, либо reject.
2. Мы пишем стрелочную функцию .then, где есть 2 парамтера.

.then(() => {          // 1-й параметр.
}, (err) => {
    console.log(err);   // 2-й параметр.
    testResult = false
}) 


у нас был вот такой код, мы там расставили вывод в консоль 1, 2, 3 ошибки.


Трабла была во втором. Вот вывод, который был в консольке:



Т.е. вывелось первое и третье. Почему? Потому что выводится только в случае успешного выполнения.
.then (()=> {console.log('****************************2')})
Код был такой. Т.е. только в случае resolove выводится эта строка с "2".

Разбираем второй случай.
Там сначала идет .getAttribute. Он проходит норм, там все хорошо.
А вот .setValue не проходит, т.к. у нас уже нет этого .input__control, поле для ввода задизэйблили.




Создание макросов, или автозамны, кароч, для автоматизации, Селениум

Зайти в Настройки - Live Templates - JS. Там уже менять.