Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

Раскритикуйте мой код, как пример для портфолио

job
python
webdriver
Теги: #<Tag:0x00007f7b70ab5c78> #<Tag:0x00007f7b70ab5a20> #<Tag:0x00007f7b70ab5818>

(dim) #1

Привет, хочу чтоб вы посмотрели на мой код в репе и сказали свое мнение. Сильно желательно больше логики/конструктивных замечаний и меньше от сердца.


#2

ты назвал pytests - но используешь unittest?)


(dim) #3

спасибо, что еще? может в коде чет не на месте или структура пейджобжект плохая или тесты не очивидные?


(vmaximv) #4

Напишите 5-6 нормальных теста. Один недотест - это не портфолио.
Сделайте 3-4 page objects.
Возможно после этого вы сами увидите что можно улучшить.
А если по делу - у вас сильно хромает семантика: wait который не ждёт, find который не ищет…


(Bolatbek) #5
  1. Непорядок с названием (то ли pytest, то ли unittest)
  2. сплипы - это не айс (“sleep(1)”)
  3. Бардак в base.py:
  • встречается и find, и get_elements для поиска элемента(ов).
  • switch_to_window - из названия не угадаешь, что на самом деле делает метод
  • compare_values - мне кажется ассертить в базовом классе - не лучший вариант
  1. base/wait.py - плохая практика использовать “sleep(2)”, см.п.2
  2. структура каталогов не очевидна. Почему в data у вас пейджи + лежит сам хромдрайвер?

(Вадим) #6

Название локаторов не информативны, научитесь сразу писать понятные названия. Даже для одного теста “BTN” или “INPUT” не понятно про какой инпут или кнопку говорится.


(dim) #7

спасибо, исправлю и учту ваши замечания асап, anything else?


(Bolatbek) #8

Переходите на pytest )