Size: a a a

testing_in_python

2021 July 22

EB

Evgenii B in testing_in_python
В любом случае не помешает говорить версию пайчарма. Тут гадалок нет, «фризит тесты» может быть по 100 причине связанной со 100 разными проблемами
источник
2021 July 23

BK

Boris Krutskih in testing_in_python
Всем привет, можете подсказать каким образом я могу сократить вызов функции с класса, чтобы каждый раз не писать длиннющие вызовы https://dpaste.org/nVYG?
источник

А

Андрей in testing_in_python
from core.utils.Globals.web_client_actions import as t
t.get_web_elemnent().click()
источник

А

Андрей in testing_in_python
не?
источник

АХ

Андрей Хахин... in testing_in_python
нет конечно, ты не можешь проимпортить атрибут класса, тем более он берет у экземпляра
источник

BK

Boris Krutskih in testing_in_python
неа, не импортит таким образом
источник

BK

Boris Krutskih in testing_in_python
Есть какие еще варианты?) или как правильнее загуглить
источник

АХ

Андрей Хахин... in testing_in_python
Что мешает в init это сделать?
источник

АХ

Андрей Хахин... in testing_in_python
источник

BK

Boris Krutskih in testing_in_python
неочень получается, это у меня типа страница описывающая логику работы с веб-елементами, после чего в тестах делается инстанс на эту страницу, получается что в тестах теперь ещё и Globals нужно передавать
источник

АХ

Андрей Хахин... in testing_in_python
ну сохрани тогда в переменную вне класса
источник

АХ

Андрей Хахин... in testing_in_python
А Globals что делает? селекторы хранит?
источник

BK

Boris Krutskih in testing_in_python
Там хранится, web_actions_clients след вызов, который имеет множество методов для взаимодействиями с локаторами
источник

АХ

Андрей Хахин... in testing_in_python
В общем инфы маловато и получается как то не красиво все равно
источник

АХ

Андрей Хахин... in testing_in_python
источник

OC

Oleg Chaplashkin in testing_in_python
А ты что пытаешься сделать? Page object паттерн?
Для доступа к сложной логике, мне нравится использовать Фасад: https://refactoring.guru/ru/design-patterns/facade

Также не очень понимаю зачем тащить какой-то get_element

Обычно, для этого делают BasePage, который умеет искать по свойству(By.<property>), кликать, заполнять (send_keys) и прочее
Остальные страницы наследуются от BasePage и используют его логику.
источник

АХ

Андрей Хахин... in testing_in_python
BasePage можно юзать только для самых простых сайтов, если у вас будет UI kit какой-нибудь с кучей разных не нативных элементов класс будет крайне перегруженным
источник

V

Vita in testing_in_python
Зачем, почему..) скажу, что не все понимают паттерны проектирования, тут надо читать алгоритмы от доктора Фортрана и так далее, только тогда программист через боль и опыт поймет, для чего паттерны нужны. они пока не видят проблем, вот когда тестовый фреймоврк разрастется, тогда им аукнется
источник

АХ

Андрей Хахин... in testing_in_python
просто если пока что не понимаешь что делаешь, то лучше не писать свои велосипеды, а взять что то готовое
источник

B

Bola in testing_in_python
нет, лучше пропустить через себя
источник