Size: a a a

testing_in_python

2020 September 09

SV

Sergei Vasilchenko in testing_in_python
Oleg Chaplashkin
Это работает, если вам просто нужно описание шагов.
Если необходимо ещё посмотреть в отчёте, что "пришло на вход" для этого шага, то оберните в отдельную функцию-степ:


@allure.step("test")
def lalala(a,b,c):
....

Тогда в отчёте будет не просто отображение шага(успешно или фейл), но и можно будет раскрыть, посмотреть какие параметры на вход пришли
Спасибо, полезный момент 👍
источник
2020 September 10

SV

Sergei Vasilchenko in testing_in_python
Oleg Chaplashkin
Это работает, если вам просто нужно описание шагов.
Если необходимо ещё посмотреть в отчёте, что "пришло на вход" для этого шага, то оберните в отдельную функцию-степ:


@allure.step("test")
def lalala(a,b,c):
....

Тогда в отчёте будет не просто отображение шага(успешно или фейл), но и можно будет раскрыть, посмотреть какие параметры на вход пришли
def lalala(a,b,c):
with allure.step('to do something {}'.format(a,b,c)):
....

такое тоже ок по идее
источник

S

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

SV

Sergei Vasilchenko in testing_in_python
Sergei
декоратор проще навесить) и смещение кода под контекст менеджер делать не надо)
это да,  но если в методе сложнее логика, чем просто кликнуть один элемент, то наверное контекстный менеджер тут больше подойдет?
источник

S

Sergei in testing_in_python
¯\_(ツ)_/¯
источник

SV

Sergei Vasilchenko in testing_in_python
или правильнее чтобы у каждого односложного метода был декоратор, а потом из таких методов собирать один большой метод?
источник

S

Sergei in testing_in_python
вряд ли здесь есть "как правильнее" :) делайте как нравится, если что переделаете)
источник

SV

Sergei Vasilchenko in testing_in_python
Sergei
вряд ли здесь есть "как правильнее" :) делайте как нравится, если что переделаете)
ок, спасибо
источник

OC

Oleg Chaplashkin in testing_in_python
Действительно, правильного метода может и не быть, все зависит от особенностей вашей системы.
Почему у меня это сделано:
в системе выделены модули проверок (проверки файлов, расширений, словарей, значений и все остальное + jsonschema валидация). Все проверки обернуты в декоратор, при этом находятся в отдельном модуле, который везде импортируется:

import helpers.checker as check
...
...
check.status_code( actual, expected)

Следовательно мне удобно видеть в Allure-отчете не просто шаг проверки, но и то, что сравнивается
источник

AM

Alexander Makarenko in testing_in_python
Друзья, в версии хрома 85 перестал работать офлайн режим. Кто-то сталкивался с этим? Ничего не нашел в гугле.
Включаю offline так:
driver.set_network_conditions(
   latency=0,
   offline=True,
   download_throughput=500 * 1024,
   upload_throughput=500 * 1024)
источник

YK

Yasha Kramarenko in testing_in_python
Sergei
ого сколько всего, я думал селене умеет это все внутри себя делать, а не заставляет писать конфиг с нуля)
ну ... то же код селена и есть... из пакета selene.support.shared
и весь тот список опшинов - имеет дефолтные значения
поэтому на своей стороне нужно только переписать дефолтные если это нужно...

о super() - спасибо, возможно потерялся... там чуть запутанная логика с этим shared browser
вероятно нужно подумать как упростить, что-бы все было более очевидно

и с оригинальной ошибкой кажется уже прочувствовали в чем проблема. Это баг селена 🙂
когда отдельный элемент кастомизируется своими собственными конфиг опциями - для него создается свой собственный конфиг локальный и когда элемент падает на действии
то скриншот пишется уже в кастомный конфиг для элемента а не в тот shared config из которого алюр пробует заэтачить скрин:)

Чет намудрено:) Будемс фиксить:)

UPDATE: super там таки есть:) просто много кода в ините, и супер в конце не сразу бросается в глаза

UPDATE2: пофиксили селен:)
источник
2020 September 11

NV

Nikita Vandyshev in testing_in_python
всем привет!
Задача: получит скриншот элемента страница через Selenium. Получилось сделать - все ок, но сталкнулся с проблемой, что если элемент не влазит весь на экран (допустим это какой нибудь граф или дерево элементов) , то на скриншот попадает только видимая часть.
Какие варианты есть,чтобы весь элемент попал на скриншот?
источник

M

Merg in testing_in_python
Nikita Vandyshev
всем привет!
Задача: получит скриншот элемента страница через Selenium. Получилось сделать - все ок, но сталкнулся с проблемой, что если элемент не влазит весь на экран (допустим это какой нибудь граф или дерево элементов) , то на скриншот попадает только видимая часть.
Какие варианты есть,чтобы весь элемент попал на скриншот?
Никаких вроде, хромдрайвер только видимую часть скринит. Проскроллить и склеить.
источник

И

Илья in testing_in_python
Nikita Vandyshev
всем привет!
Задача: получит скриншот элемента страница через Selenium. Получилось сделать - все ок, но сталкнулся с проблемой, что если элемент не влазит весь на экран (допустим это какой нибудь граф или дерево элементов) , то на скриншот попадает только видимая часть.
Какие варианты есть,чтобы весь элемент попал на скриншот?
А разве нет захвата всей страницы? (Могу ошибаться)
источник

ТЭ

Тачами Экстович... in testing_in_python
Merg
Никаких вроде, хромдрайвер только видимую часть скринит. Проскроллить и склеить.
+
источник

ТЭ

Тачами Экстович... in testing_in_python
Илья
А разве нет захвата всей страницы? (Могу ошибаться)
Нет
источник

ТЭ

Тачами Экстович... in testing_in_python
Можно попробовать размер окна сделать больше размера страницы и заскринить. Но это не будет работать с эмуляцией мобилок. Да и десктопную верстку может сломать.
источник

M

Maxim in testing_in_python
Всем добрый вечер)
Есть задача - после каждого перехода страницы проверять current_url и если он равен damain.com делать определенные действия, а потом продолжать тест.
Через что это реализовать, чтобы избежать дублирования кода?
источник

M

Merg in testing_in_python
через декоратор, которым оборачивать нужные степы, например
источник

ИС

Игорь Середа... in testing_in_python
Merg
через декоратор, которым оборачивать нужные степы, например
А я думал, вы для этого фикстуры пишете и юзаете в нужных тестах.
источник