Доброй ночи (ибо на часах уже немного за полночь), друзья-товарищи тестировщики!
Работаю веб-тестировщиком в одном небольшом и относительно молодом (2 года) стартапе. В тестировании 3-й год, в вебе - 5 месяцев. Занимаюсь преимущественно ручным тестированием (проект молодой, все время новые плюшки-финтифлюшки, переделки и редизайны), но стоит цель создать набор автотестов. Писать буду на 3-м питоне (сам сервис на нем написан, поэтому начальство велело на нем). Покудова с автотестами не торопят, начал изучать selenium, писать пробные тесты. Сразу встретил для себя несколько моментов, которые меня мало вдохновили - длинные названия методов поиска селекторов и их разнообразие (java в этом плане меня более воодушевляет, findElement/findsElement и By-локаторы) + прописывание по всему коду методов логирования (куда же в тестах без логов-то!) + всякие мелочи (уже забыл какие сам). Полистав интернет, наткнулся на идию обертки для Selenium, и понеслась...
В результате на руках имею жутко черновую (0.1) версию своей собственной обертки DriverPlus. Название - отсылка к другой оболочке WebDriver Plus (из ее кода почерпнул некоторые идеи). На данный момент реализованы следующие моменты:
- универсальные методы find и finds, принимающие на вход объекты-селекторы с проверкой входных данных
- селекторы, задаваемые объектами, которые помимо типа локатора и его значения содерждат в себе название элемента ( id("auto_botton", "кнопка авторизации") )
- несколько типов дополнительных селекторов на основе xpath
- автоматическое логирование всех методов. Нашел элемент - в лог попала инфа как называется элемент, какой тип локатора, локатор... или предупреждение если найдено несколько элементов... или ошибку возбудит и напишет что не нашел такого. Кликнул кнопку - аналогичная фигня. Нашел мночго чекболксов и по циклу их все чекаешь - запишет для каждого действие и еще укажэет какой по счету чекбокс ты чекнул. Плюс логирует время выполнения каждого метода (оценка производительности). Плюс автоматически определеяет файл, функцию и строку вызова метода
Может кому-то покажется излишним все это (мне самому иногда так кажется, хехе), но кому-то возможно и будет интересно-полезно. Помимо прочего, работая над оболочкой изучаю язык, учусь правильно, красиво и эффективно писать код. Однако есть еще куча идей чего допилить, додедать, улучшить, а и опыта чертовски мало, и лень иногда пробивает.
Собственно суть - есть ли у кого-либо из прочитавших всю эту ахинею интерес для изучения? Нужна критика (но конструктивная, с фактами и примерами), нужны люди которые помогут улучшить мою идею, развить ее, усовершенствовать... или те кто смогут убедить в глупости, бессмысленности затеи)))
Так или иначе, жду ваших мнений