Size: a a a

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

2020 August 27

ON

Oleg Nazarov in QA — Автоматизация
Roman
Всем привет, понимаю, что это холливар, но есть ли явное преимущество CSS перед XPATH? Чем плохо использование исключительно XPATH?
используй то что будет более универсальным, нет никакого холливара)
источник

АФ

Алексей Федоткин... in QA — Автоматизация
Oleg Nazarov
используй то что будет более универсальным, нет никакого холливара)
+1
источник

ES

Eugene Stogniy in QA — Автоматизация
Roman
Всем привет, понимаю, что это холливар, но есть ли явное преимущество CSS перед XPATH? Чем плохо использование исключительно XPATH?
Есть преимущество XPATH над CSS (Оси языка Xpath)
источник

R(

Roman (rpwheeler) in QA — Автоматизация
Roman
Всем привет, понимаю, что это холливар, но есть ли явное преимущество CSS перед XPATH? Чем плохо использование исключительно XPATH?
1) https://www.youtube.com/watch?v=_TNh2ydpoOw

2) Длинные XPATH нередко глючат. ПРошлый раз когда человек такое спрашивал, у него был XPATH примерно такого типа:
/html/body/div[1]/div[2]/div/div[2]/div[3]/div/div[2]/div[1]/div/div[1]/div[2]/div[3]/div[22]/div/div/div/div[2]/span/a

Вот такие XPATH это плохие XPATH
YouTube
Алексей Баранцев: Десять правил построения хороших локаторов
Выступление Алексея Баранцева на онлайн-конференции для тестировщиков http://koteconf.ru/

Если вы занимаетесь автоматизацией тестирования веб-приложений, какими бы инструментами вы ни пользовались, вам приходится иметь дело с так называемыми локаторами, то есть механизмами поиска элементов на страницах веб-приложений.

«Хороший» локатор должны быть точным, чтобы он находил нужный элемент, даже если на странице есть другие элементы с похожими свойствами. С другой стороны, он должен быть устойчивым к изменениям вёрстки, чтобы при малейшем изменении дизайна страниц не приходилось переделывать локаторы элементов в тестах.

Я расскажу о том, каких правил я придерживаюсь, чтобы строить «хорошие» локаторы, покажу, какие типовые ошибки при построении локаторов встречаются, и как можно их избежать.

До начала конференции всем участникам будут отправлены задания на построение локаторов, так что вы сможете сначала сами попробовать построить локаторы, а во время конференции все эти задания будут разобраны, и вы сможете…
источник

i

i think it's okay in QA — Автоматизация
Ребят,
а вы пишите кейсы на API?
на предыдущем месте работы кейсы были общие и просто создавались несколько run'ов.
но есть какие-то нефункциональные вещи , которые так же стоит проверять - но кейсы (допустим) на состав тела запроса - как будто странно
источник

АФ

Алексей Федоткин... in QA — Автоматизация
почему странно? этими вещами отлавливается потеря параметров, изменение в АПИ несогласованное с фронтом и подобные вещи. это нужно проверять.
источник

AK

Alexey Kasatkin in QA — Автоматизация
i think it's okay
Ребят,
а вы пишите кейсы на API?
на предыдущем месте работы кейсы были общие и просто создавались несколько run'ов.
но есть какие-то нефункциональные вещи , которые так же стоит проверять - но кейсы (допустим) на состав тела запроса - как будто странно
Могут быть обязательные и необзательные поля. Стоит проверить, что это работает
источник

i

i think it's okay in QA — Автоматизация
Alexey Kasatkin
Могут быть обязательные и необзательные поля. Стоит проверить, что это работает
мне возможно везло, но такие вещи я проверял как функциональные - потому что старались на фронте дублировать "обязательность"
источник

AK

Alexey Kasatkin in QA — Автоматизация
i think it's okay
мне возможно везло, но такие вещи я проверял как функциональные - потому что старались на фронте дублировать "обязательность"
У API может быть много клиентов, кому-то необходимо всегда отправлять необязательное поле, кому-то по-барабану на него. Со стороны API, опять же, стоит проверить, что оно работает с разным набором параметров
источник

АФ

Алексей Федоткин... in QA — Автоматизация
хз, смешение слоев тестирования какое то) ну и дублирование означает что архитектура не ок попилена, пирамида не должна пересекаться по слоям
источник

LY

Lev Yarushin in QA — Автоматизация
Алексей Федоткин
Как по мне так вкусовщина. Ну или на 10К+ тестах будет конечно прирост скорости небольшой у CSS, но не думаю что оно того стоит если команда например привыкла и лучше знает xpath.

во фреймворках до 2К тестов пока не видел каких то явных +/-
Прироста в скорости нет. Это было давно и уже неактуально.
источник

АФ

Алексей Федоткин... in QA — Автоматизация
Ну мы мерили ради смеха. на 1700 UI кейсов в хроме разница была секунды 4) но может это так звезды сложились
источник

B

Bola in QA — Автоматизация
i think it's okay
Ребят,
а вы пишите кейсы на API?
на предыдущем месте работы кейсы были общие и просто создавались несколько run'ов.
но есть какие-то нефункциональные вещи , которые так же стоит проверять - но кейсы (допустим) на состав тела запроса - как будто странно
речь о тест кейсах или о непосредственно тестах?
источник

i

i think it's okay in QA — Автоматизация
Bola
речь о тест кейсах или о непосредственно тестах?
кейсы
источник

LY

Lev Yarushin in QA — Автоматизация
Алексей Федоткин
Ну мы мерили ради смеха. на 1700 UI кейсов в хроме разница была секунды 4) но может это так звезды сложились
Разница была во времена IE и 12 оперы. Сейчас поиск очень быстрый.
источник

EV

Evgeni Vetrov in QA — Автоматизация
Всем привет. Есть GitLab сервер на Ubuntu 18.04, эта же машинка зарегистрирована как runner, executor - shell. Для того, чтобы при старте job`ы, браузер запускался и в нём выполнялись тесты, мне нужно использовать RemoteWebDriver или можно и FirefoxDriver?
Если для ответа на мой вопрос, недостаточно информации, то скажите пожалуйста, что нужно уточнить, спасибо.
источник

LY

Lev Yarushin in QA — Автоматизация
Лучше так не делать.  Если у вас очень мощная машина, поставьте докер, Selenoid и используйте RemoteWebDriver.  Таким образом, вы разграничите тесты и браузер. А если понадобится перенести браузеры на другую машину, у вас нужно будет только адрес сменить
источник

EV

Evgeni Vetrov in QA — Автоматизация
Lev Yarushin
Лучше так не делать.  Если у вас очень мощная машина, поставьте докер, Selenoid и используйте RemoteWebDriver.  Таким образом, вы разграничите тесты и браузер. А если понадобится перенести браузеры на другую машину, у вас нужно будет только адрес сменить
Спасибо большое, я обязательно изучу какие возможности могут предоставить docker и selenoid, но дело в том, что я начинающий, впервые пытаюсь настроить данные процессы и не понимаю где у меня сейчас проблема, поэтому на данном этапе хочу добиться того, чтобы браузер открылся и в нём выполнились минимальные тесты, после чего я уже буду делать решение более правильно.
Изначально я использовал FirefoxDriver (не gecko, а старый, встроенный в selenium, т.к. версия браузера на которой необходимо выполнять тесты - 44). При обычном запуске скрипта в shell`е, браузер запускался, тесты выполнялись, но при попытке запуска в pipeline`е выдавалась ошибка вида:
OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000 milliseconds. Attempted to connect to the following addresses: 127.0.0.1:7055

Далее я заменил инициализацию FirefoxDriver`а на RemoteWebDriver с передачей в параметры объекта FirefoxOptions и uri hub`а, поднял на машине-runner`е selenium-standalone-server, который выступает и в роли hub`а и в роли node`ы, в итоге в pipeline`е получил ошибку следующего вида:
System.InvalidOperationException : Unable to create new service: GeckoDriverService
источник

EV

Evgeni Vetrov in QA — Автоматизация
источник

🛠А

🛠 Александр Аверьяно... in QA — Автоматизация
Evgeni Vetrov
Спасибо большое, я обязательно изучу какие возможности могут предоставить docker и selenoid, но дело в том, что я начинающий, впервые пытаюсь настроить данные процессы и не понимаю где у меня сейчас проблема, поэтому на данном этапе хочу добиться того, чтобы браузер открылся и в нём выполнились минимальные тесты, после чего я уже буду делать решение более правильно.
Изначально я использовал FirefoxDriver (не gecko, а старый, встроенный в selenium, т.к. версия браузера на которой необходимо выполнять тесты - 44). При обычном запуске скрипта в shell`е, браузер запускался, тесты выполнялись, но при попытке запуска в pipeline`е выдавалась ошибка вида:
OpenQA.Selenium.WebDriverException : Failed to start up socket within 45000 milliseconds. Attempted to connect to the following addresses: 127.0.0.1:7055

Далее я заменил инициализацию FirefoxDriver`а на RemoteWebDriver с передачей в параметры объекта FirefoxOptions и uri hub`а, поднял на машине-runner`е selenium-standalone-server, который выступает и в роли hub`а и в роли node`ы, в итоге в pipeline`е получил ошибку следующего вида:
System.InvalidOperationException : Unable to create new service: GeckoDriverService
скажу как начинающий - лучше сразу учиться по правильному и сделать на селеноиде. На самом деле это просто
источник