Size: a a a

testing_in_python

2020 September 02

P

Polina in testing_in_python
Тачами Экстович
Попробуй к WebDriverWait добавить ignored_exceptions=Exception.
Может сафаридрайвер крашится, если элемент еще не появился в верстке, или что-то такое. ignored_exceptions поможет это переждать
Помогло, спасибо большое, осталось теперь понять, почему в сафари на кнопку не кликает и дальше без ошибок летит, но это так и было, буду разбираться, почему.
источник

P

Polina in testing_in_python
В гугле пишут, что у них багло около года назад с кликом было, но это вроде должны были зафиксить.
источник

P

Polina in testing_in_python
Кто-нибудь сталкивался с этим?
источник

OC

Oleg Chaplashkin in testing_in_python
Ivan Petrov
Что ещё могу показать:

import Xlib.display
from Xlib.display import Display

display = Display(":10.0")
display.start()
pyautogui._pyautogui_x11._display = Xlib.display.Display(os.environ['DISPLAY'])
У меня при настройке CI/CD в системе, была подобная проблема только selenium'а, не мог подключиться к бразуера, тоже самое - Connection refused
Решение следующее: добавил флаг headless mode в параметры инициализации браузера.
Поищите, может быть у этих дисплеев есть подобный режим
источник

IP

Ivan Petrov in testing_in_python
Headless mode несовместим с pyautogui по определению, это ж графика)
источник

IP

Ivan Petrov in testing_in_python
Но ради прикола могу попробовать)
источник

IP

Ivan Petrov in testing_in_python
Попробовал использовать Xvnc - та же проблема. Может, у меня у юзера права не те?
источник

ТЭ

Тачами Экстович... in testing_in_python
может
источник

IP

Ivan Petrov in testing_in_python
Jenkins находится в Docker-контейнере, там внутренние права менять?
источник
2020 September 03

M

Maxim in testing_in_python
Нужно сделать клик по элементу.
Ищу элемент по Xpath, делаю клик.
В расширении katalon клик проходит
Клик через консоль питона - ничего не происходит.

Подскажите, в чем может быть проблема.
источник

S

Sergei in testing_in_python
Исходя из вопроса можно посоветовать не использовать питон)
источник

M

Maxim in testing_in_python
 bot.browser.execute_script('document.querySelector("span.jsEditableToggle.jsDoneSave.text--bold.text--blue.text--smaller.cursor--pt").click()') 

работает
bot.browser.find_element_by_css_selector('span.jsEditableToggle.jsDoneSave.text--bold.text--blue.text--smaller.cursor--pt').click()
не работает
🤷‍♂️🤷‍♂️🤷‍♂️
Первый раз такое встречаю. в чем логика?
источник

M

Mary in testing_in_python
привет! может кто-нибудь поделиться впечатлениями от использования Schemathesis для генерации тест-кейсов из сваггера? какие подводные камни?

у меня, например, по какой-то причине не подтягивается тело запроса и body = None либо body = {} отправляется. приходит ошибка 400 в результате.

может быть, для этого инструмента есть логгирование? хотелось бы видеть, что отправляется, когда тесты проходят успешно с pytest

хорошо, если кто-нибудь поделится живым примером, документации не так уж и много
источник

IB

Igor Balagurov in testing_in_python
Mary
привет! может кто-нибудь поделиться впечатлениями от использования Schemathesis для генерации тест-кейсов из сваггера? какие подводные камни?

у меня, например, по какой-то причине не подтягивается тело запроса и body = None либо body = {} отправляется. приходит ошибка 400 в результате.

может быть, для этого инструмента есть логгирование? хотелось бы видеть, что отправляется, когда тесты проходят успешно с pytest

хорошо, если кто-нибудь поделится живым примером, документации не так уж и много
использовал не так много (3 небольших проекта проходил им)

подводные камни:
- не все схемы парсит (обычно если они кривые), но можно встроиться и что-то пофиксить налету (есть методы чтобы получить схему в сыром виде или в виде дикта, а потом уже этот дикт отправить дальше)
- сходу распарралелить эти тесты через xdist не влетело - вылезают ошибки hypothesis, да и вообще показалось, что не очень стабильный
- сейчас точно не помню, но было ощущение, что каких-то кейсов (толи попыток не отправлять значения в обязательные поля, толи ещё чего-то) не было, но это уже мелочи
- очень чувствителен к качеству описания схемы (что не удивительно), поэтому если проект небольшой, и описывать все ответы (особенно негативные) вряд ли будет целесообразно, то глубина проверок будет не очень хорошая
- для себя сделал вывод, что может и сыроват местами, но как быстрый старт, пощупать API - вполне себе сгодится, если хочется по качеству запариться, то надо проверок добавить руками и за схемой следить

по поводу логирования:
я сделал быстро и грязно: поскольку он поверх requests работает - просто декоратором обернул Session.send, где запрос \ ответ пишу
источник

M

Mary in testing_in_python
Igor Balagurov
использовал не так много (3 небольших проекта проходил им)

подводные камни:
- не все схемы парсит (обычно если они кривые), но можно встроиться и что-то пофиксить налету (есть методы чтобы получить схему в сыром виде или в виде дикта, а потом уже этот дикт отправить дальше)
- сходу распарралелить эти тесты через xdist не влетело - вылезают ошибки hypothesis, да и вообще показалось, что не очень стабильный
- сейчас точно не помню, но было ощущение, что каких-то кейсов (толи попыток не отправлять значения в обязательные поля, толи ещё чего-то) не было, но это уже мелочи
- очень чувствителен к качеству описания схемы (что не удивительно), поэтому если проект небольшой, и описывать все ответы (особенно негативные) вряд ли будет целесообразно, то глубина проверок будет не очень хорошая
- для себя сделал вывод, что может и сыроват местами, но как быстрый старт, пощупать API - вполне себе сгодится, если хочется по качеству запариться, то надо проверок добавить руками и за схемой следить

по поводу логирования:
я сделал быстро и грязно: поскольку он поверх requests работает - просто декоратором обернул Session.send, где запрос \ ответ пишу
спасибо за развернутый ответ!
источник

IS

Idi Suda in testing_in_python
Для пощупать api как раз использовал. Для быстрой оценки нового кода. В тебя кидают спеку, а ты обратно пачку 500 необработанных из схематезиса. Времени потрачено 3 секунды для запуска тулзы.
источник
2020 September 04

M

Mary in testing_in_python
спасибо!
источник

BK

Boris Krutskih in testing_in_python
Всем привет. Можете подсказать как организовать chain вызов методов?
Сейчас есть:
item_amd.click_view_button_with_status_new()
item_amd.click_close_ai_button()
item_amd.fill_maintenance_field(maintenance_msg=f'Auto test #{r}')
item_amd.choose_sensor_is_attached()
item_amd.select_cause_category()
item_amd.fill_cause_description_field(desc=f'Auto test #{r}')
Хочется типа такого:
item_amd.click_view_button_with_status_new().
       click_close_ai_button()
       fill_maintenance_field(maintenance_msg=f'Auto test #{r}').
       choose_sensor_is_attached()
источник

S

Sergei in testing_in_python
да легко, внутри каждого метода возвращай self
источник

BK

Boris Krutskih in testing_in_python
Sergei
да легко, внутри каждого метода возвращай self
👍🏻спс
источник