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

Помогитe с выбором фрэймворка для тестирования мобильных приложений или как найти обертку над appium


(Korolevsky Max) #1

Здравствуйте, интересует меня фрэймворк для тестирования, тесты выполнять будет Appium,
т.к.

  1. он тестирует приложение, которое отправляется на аппстор(не требует встраивания или пересобирания билда)
  2. работает с iOS и андроид
  3. тесты можно запускать на дженкинсе.

Также требованием к фреймворку является репорт тул(возможность создания хытымыэль отчета)
Возможность делать скриншоты до степа и после(и встраивать их в репорт)
Также интересует возможность использования этого фреймворка и для веб проектов.


(Mykhailo Poliarush) #2

Что-то я немного не понял вашего вопроса. Т.е. вы выбрали уже Appium и ищите какой фреймворк обертку на Appium для того чтобы упростить разработку тестов? Я верно вас понял?


(Korolevsky Max) #3

Ага, да)
А, забыл дописать.
Для заказчиков автотестов важным требованием является написание тестов на языке, Gherkins подобному, чтобы они могли понимать и ревьюить тесты.
Не хотелось бы, чтобы ваше мнение было предвзятым, но всё-таки оглашу моих 2 кандидата:

  1. robotframework
  2. lettuce

Хотелось бы узнать мнение человека, который с ними работал и оценить плюсы и минусы оных или предложить альтернативу


(Mykhailo Poliarush) #4

ну если нужно bdd то в общем есть много тулов, хотя нормально поддерживаемых я бы назвал такие:

  1. robotframework
  2. lettuce
  3. behave

В случае с robotframework есть уже реализованная библиотека, которую можно использовать https://github.com/jollychang/robotframework-appiumlibrary

В случае с lettuce или behave, надо будет делать некоторые обертки над appium, чтобы сделать более переиспользуемым. Готовых врапперов для https://github.com/appium/python-client я не видел, поищите, может быть уже кто-то что-то и писал. Но вряд ли. Так что скорее всего придется писать самостоятельно. Lettuce более популярный, хотя как по мне то behave более функциональный и содержит меньше дефектов.

Если используете nosetests или py.test то можно рассширить их через плагины

  1. nose + https://pypi.python.org/pypi/pinocchio/
  2. pytest + https://pypi.python.org/pypi/pytest-bdd

(Korolevsky Max) #6

Миша, а Вы имели счастье пользоваться robotframework или lettuce?
Если уж выбирать между этими двумя гигантами >_<, то кого из них вы предпочли бы и почему?


(Mykhailo Poliarush) #7

Да, использовал и тот и другой инструмент. Но рекомендовать просто на основании того что Вы написали тяжело. Надо понимать предысторию, кто будет писать тесты, технический уровень, требования к тестам, кто будет делать поддержку, требования к запуску, параллельности, поддержку различных енвиронментов и т.д. Это называется стратегия автоматизации.

Могу абстрактно сказать и тот и другой инструмент хорош, но они несколько разные по своей сути. Потому как robotframework больше keyword driven инструмент с поддержкой bdd, а lettuce это чисто bdd инструмент.

Robotframework имеет значительно большую коммьюнити и различные библиотеки, встроенный хороший репортинг, и при наличии библиотек можно меньше программировать и более удобно составлять тесты с помощью уже готово IDE. RF можно легко интегрировать с другими системами.

Но в lettuce нужно больше программировать (что дает больше гибкости), тут конечно придется делать больше самому,так как существующих библиотек нет.

В общем, я больше люблю программировать потому если мне надо было чисто bdd тесты то я скорее взял бы behave, или lettuce, потому как под соусом bdd инструмента я могу напрограммировать все что мне нужно с любой архитектурой. Хотя, впрочем, тоже самое можно сделать и с помощью RF через их API. Так что это больше вкуса.

Я бы посоветовал выработать сначала требования к вашей автоматизации, потом просканировать каждый инструмент на наличии соответствующих функций и тогда уже выбирать.


(Korolevsky Max) #8

Спасибо, буду думать.


(Mykhailo Poliarush) #9

Обязательно поделитесь результатами, интересно, что у вас получиться.


(Korolevsky Max) #10

В итоге остановился в выборе на Behave, написал репортар под него, датагенератор и кучу примочек всевозможных, очень удобно, пока тестируем АПИ и Веб фронтэнд, до мобилок лапы не доросли(т.к. апишка автоматизирована, мобилки автоматизировать пока не особо есть смысл, достаточно ручной проверки)
Подробности и плюшности могу описать, если будет интерес.


(Mykhailo Poliarush) #11

Очень интересно. Если будет возможности напишите плиз заметку в базу знаний. Буду очень признателен.


(Korolevsky Max) #12

Да будет так, постараюсь в воскресенье этим заняться.