Size: a a a

QA — Автоматизация

2020 May 21

ŚW

Świętomierz Wisniews... in QA — Автоматизация
Maxim Keip
Возможно спрошу глупую вещь. Я только аккуратно пытаюсь понять что к чему
Если я использую фреймворк, допустим, Сплинтер, то к драйверу, который возвращается им, я не могу применять методы селениумовского вебдрайвера? Но ведь там много чего полезного, аналоги я не вижу в документации этого Сплинтера
Если вы не понимаете суть сплинтера, то возьмите селениум и учитесь в нем
источник

YP

Yaroslav Pernerovsky... in QA — Автоматизация
Maxim Keip
Возможно спрошу глупую вещь. Я только аккуратно пытаюсь понять что к чему
Если я использую фреймворк, допустим, Сплинтер, то к драйверу, который возвращается им, я не могу применять методы селениумовского вебдрайвера? Но ведь там много чего полезного, аналоги я не вижу в документации этого Сплинтера
там есть методы получения настоящего селениумовского драйвера
источник

А

Александр in QA — Автоматизация
все проще: если DOM изменился, однажды найденные и висящие в памяти ссылки на элементы более недействительны
источник

А

Александр in QA — Автоматизация
и элемент по ним нужно найти еще раз.
источник

ЕС

Екатерина Смирнова... in QA — Автоматизация
Yaroslav Pernerovskyy
это селениум, он работает сам по себе и не знает что происходит внутри браузера. потому ваша переменная протухает почти наверняка после клика
значит просто оставить путь до элемента, и само действие? А как тогда я пойму на какой странице я нахожусь, или какой элемент кликаю?

В принципе можно закомментровать все, но это еще больше времени займет
источник

AV

Alexei Vinogradov in QA — Автоматизация
Екатерина Смирнова
Я ранее не создавала, но ментор сказал, что надо паеременные, чтобы в будущем, если что, то можно было бы обратиться к ним.

Вот я и подумала, что обратилась бы, и все было бы ок, но как видите вылезла ошибка.
переменную я рекомендую создавать и давать ей понятное имя, когда селектор выглядит криптически, чтобы код было проще читать. "Экономия памяти" сохранением в переменные - абсолютно бессмысленно занятие в контексте автотестов. Когда селектор выглядит #username - нет абсолютно никакой необходимости помещать его в переменную username.
источник

MK

Maxim Keip in QA — Автоматизация
Yaroslav Pernerovskyy
там есть методы получения настоящего селениумовского драйвера
Remote WebDriver, да?
источник

ЕС

Екатерина Смирнова... in QA — Автоматизация
Alexei Vinogradov
переменную я рекомендую создавать и давать ей понятное имя, когда селектор выглядит криптически, чтобы код было проще читать. "Экономия памяти" сохранением в переменные - абсолютно бессмысленно занятие в контексте автотестов. Когда селектор выглядит #username - нет абсолютно никакой необходимости помещать его в переменную username.
Значит по правильному будет оставлять только путь до элемента и само действие?
источник

ЕС

Екатерина Смирнова... in QA — Автоматизация
Хорошо, а что делать со слип? А то мне сделали замечание, я 3 раза спросила, но пока что молчат
источник

AV

Alexei Vinogradov in QA — Автоматизация
Igor Bardievskyi
Про второй вариант думал, он самый понятный) спасибо
ага. Понятный тест - хороший тест!
источник

YP

Yaroslav Pernerovsky... in QA — Автоматизация
Екатерина Смирнова
Хорошо, а что делать со слип? А то мне сделали замечание, я 3 раза спросила, но пока что молчат
слипы надо заменить на явные ожидания
источник

ŚW

Świętomierz Wisniews... in QA — Автоматизация
Екатерина Смирнова
значит просто оставить путь до элемента, и само действие? А как тогда я пойму на какой странице я нахожусь, или какой элемент кликаю?

В принципе можно закомментровать все, но это еще больше времени займет
Да, оставляйте путь до элемента! Вы сразу поймете какое действие вы выполняете!
источник

YP

Yaroslav Pernerovsky... in QA — Автоматизация
Екатерина Смирнова
Хорошо, а что делать со слип? А то мне сделали замечание, я 3 раза спросила, но пока что молчат
вот тут я рассказываю что и куда... в пайтоне то же самое...  https://www.youtube.com/watch?v=8xbb0NM4l8k
источник

ЕС

Екатерина Смирнова... in QA — Автоматизация
Мне лучше сразу на пайтоне)

Я вроде бы нашла https://habr.com/ru/post/273089/
источник

AV

Alexei Vinogradov in QA — Автоматизация
Екатерина Смирнова
Значит по правильному будет оставлять только путь до элемента и само действие?
ну я написал как я рекомендую делать - простые селекторы можно оставлять как есть, запутанные - или именовать понятной переменной или хотя бы комментировать. Есть такой паттерн PageObject  - можно прочитать про него и попытаться использовать.
Вот единственно "правильного" простого "пиши только так" в этой области нет, и не будет.
источник

YP

Yaroslav Pernerovsky... in QA — Автоматизация
да, это тоже ок
источник

YP

Yaroslav Pernerovsky... in QA — Автоматизация
там просто без обьяснений почему оно так )
источник

YP

Yaroslav Pernerovsky... in QA — Автоматизация
потому видео, все же посмотрите
источник

ЕС

Екатерина Смирнова... in QA — Автоматизация
Но тут вместо слипа(который написан в одну строку) используется код в 4 строки


try:
   element = WebDriverWait(driver, 10).until(
       EC.presence_of_element_located((By.ID, "myDynamicElement"))
   )
finally:
   driver.quit()
источник

ЕС

Екатерина Смирнова... in QA — Автоматизация
Разве в пайтоне не должно быть все лаконично, без лишних строк?
источник