Size: a a a

testing_in_python

2020 September 11

EB

Evgenii B in testing_in_python
Если переход на другую
Страницу подразумевает использование другого page object, то можно в конструкторе page object поместить проверку на url
источник

СС

Сказочный Сникерс... in testing_in_python
Evgenii B
Если переход на другую
Страницу подразумевает использование другого page object, то можно в конструкторе page object поместить проверку на url
самый лучший план. через ооп и наследование запилить это красиво, чтобы у каждой пейджы были свои конкретные действия, которые вызываются на каждый инит новой пейджы
источник

EB

Evgenii B in testing_in_python
Если в рамках одного po меняется URL, то я бы написал декоратор и вешал его на те экшены страницы, которые меняют урл
источник

M

Merg in testing_in_python
А вообще, мне это не нравится - тест должен быть линейным, а тут какие-то ветвления
источник

EB

Evgenii B in testing_in_python
Тест должен быть линейным, но такого рода проверки это скорее внутренние sanity checks. Которые не являются прямым фокусом теста. Например всегда когда появляется новая страница в тесте, ПО может проверять ряд присущих ей атрибутов, как-то: url, наличие футера/ навбара/ кнопок / статичных текстов
источник

EB

Evgenii B in testing_in_python
У меня такие проверки пару раз помогали выявить как в динамике на странице что-то сломалось, а отдельный тест на эти кнопки был изолирован и был зелёным.
источник

B

Bola in testing_in_python
Ещё бывает, что на некоторых страницах нужно закрыть какие-то мешающие попапы, всякие модальные окна и т.д. подпадают под "сделать определенные действия"
источник

EB

Evgenii B in testing_in_python
Вот насчёт «сделать действия» я бы призадумался, а вот какие-то не действия, а Рид-онли операции типа сверки тайтла страницы — точно оправдано
источник

B

Bola in testing_in_python
Ну нам сейчас это неведомо. ТС не раскрыл.
источник
2020 September 12

M

Maxim in testing_in_python
Bola
Ещё бывает, что на некоторых страницах нужно закрыть какие-то мешающие попапы, всякие модальные окна и т.д. подпадают под "сделать определенные действия"
+ это и необходимо.
только не могу сходу понять, как экземпляр браузера передать в декоратор...
источник

СС

Сказочный Сникерс... in testing_in_python
Maxim
+ это и необходимо.
только не могу сходу понять, как экземпляр браузера передать в декоратор...
Обратиться к аргументам функции?

Если у функции есть доступ к объекту в локальной области видимости, то и у декоратора он логично есть
источник

M

Maxim in testing_in_python
Добрый день) разбираю пример проекта.
Подскажите, зачем тут использовать super, когда можно использовать просто self?
Есть принципиальные отличия?
источник

СС

Сказочный Сникерс... in testing_in_python
Maxim
Добрый день) разбираю пример проекта.
Подскажите, зачем тут использовать super, когда можно использовать просто self?
Есть принципиальные отличия?
Есть. Использовать метод родителя, а не собственный
источник

T

Tishka17 in testing_in_python
Maxim
Добрый день) разбираю пример проекта.
Подскажите, зачем тут использовать super, когда можно использовать просто self?
Есть принципиальные отличия?
В данном случае дичь какая-то
источник

СС

Сказочный Сникерс... in testing_in_python
Зачем - большой вопрос к создателю сего кода
источник

T

Tishka17 in testing_in_python
Сказочный Сникерс
Есть. Использовать метод родителя, а не собственный
+
источник

M

Maxim in testing_in_python
Сказочный Сникерс
Есть. Использовать метод родителя, а не собственный
Но ведь класс наследует все функции родителя предка. В данном случае Base Page. Чем не подходит просто self?
Думал, что super используется, если у методов одинаковые имена. Не?
источник

СС

Сказочный Сникерс... in testing_in_python
Maxim
Но ведь класс наследует все функции родителя предка. В данном случае Base Page. Чем не подходит просто self?
Думал, что super используется, если у методов одинаковые имена. Не?
Представь что в этом классе данный метод get_element переопределен
источник

СС

Сказочный Сникерс... in testing_in_python
Вот в этом классе нужна другая реализация в большинстве случаев
источник

СС

Сказочный Сникерс... in testing_in_python
Но вот в единственном который на скрине нужно использовать метод родителя
источник