Здравствуйте, интересует меня фрэймворк для тестирования, тесты выполнять будет Appium,
т.к.
он тестирует приложение, которое отправляется на аппстор(не требует встраивания или пересобирания билда)
работает с iOS и андроид
тесты можно запускать на дженкинсе.
Также требованием к фреймворку является репорт тул(возможность создания хытымыэль отчета)
Возможность делать скриншоты до степа и после(и встраивать их в репорт)
Также интересует возможность использования этого фреймворка и для веб проектов.
Что-то я немного не понял вашего вопроса. Т.е. вы выбрали уже Appium и ищите какой фреймворк обертку на Appium для того чтобы упростить разработку тестов? Я верно вас понял?
Ага, да)
А, забыл дописать.
Для заказчиков автотестов важным требованием является написание тестов на языке, Gherkins подобному, чтобы они могли понимать и ревьюить тесты.
Не хотелось бы, чтобы ваше мнение было предвзятым, но всё-таки оглашу моих 2 кандидата:
robotframework
lettuce
Хотелось бы узнать мнение человека, который с ними работал и оценить плюсы и минусы оных или предложить альтернативу
В случае с lettuce или behave, надо будет делать некоторые обертки над appium, чтобы сделать более переиспользуемым. Готовых врапперов для GitHub - appium/python-client: Python language bindings for Appium я не видел, поищите, может быть уже кто-то что-то и писал. Но вряд ли. Так что скорее всего придется писать самостоятельно. Lettuce более популярный, хотя как по мне то behave более функциональный и содержит меньше дефектов.
Если используете nosetests или py.test то можно рассширить их через плагины
Миша, а Вы имели счастье пользоваться robotframework или lettuce?
Если уж выбирать между этими двумя гигантами >_<, то кого из них вы предпочли бы и почему?
Да, использовал и тот и другой инструмент. Но рекомендовать просто на основании того что Вы написали тяжело. Надо понимать предысторию, кто будет писать тесты, технический уровень, требования к тестам, кто будет делать поддержку, требования к запуску, параллельности, поддержку различных енвиронментов и т.д. Это называется стратегия автоматизации.
Могу абстрактно сказать и тот и другой инструмент хорош, но они несколько разные по своей сути. Потому как robotframework больше keyword driven инструмент с поддержкой bdd, а lettuce это чисто bdd инструмент.
Robotframework имеет значительно большую коммьюнити и различные библиотеки, встроенный хороший репортинг, и при наличии библиотек можно меньше программировать и более удобно составлять тесты с помощью уже готово IDE. RF можно легко интегрировать с другими системами.
Но в lettuce нужно больше программировать (что дает больше гибкости), тут конечно придется делать больше самому,так как существующих библиотек нет.
В общем, я больше люблю программировать потому если мне надо было чисто bdd тесты то я скорее взял бы behave, или lettuce, потому как под соусом bdd инструмента я могу напрограммировать все что мне нужно с любой архитектурой. Хотя, впрочем, тоже самое можно сделать и с помощью RF через их API. Так что это больше вкуса.
Я бы посоветовал выработать сначала требования к вашей автоматизации, потом просканировать каждый инструмент на наличии соответствующих функций и тогда уже выбирать.
В итоге остановился в выборе на Behave, написал репортар под него, датагенератор и кучу примочек всевозможных, очень удобно, пока тестируем АПИ и Веб фронтэнд, до мобилок лапы не доросли(т.к. апишка автоматизирована, мобилки автоматизировать пока не особо есть смысл, достаточно ручной проверки)
Подробности и плюшности могу описать, если будет интерес.