Недавно начал автоматизировать тестирование проекта. В качестве языка выбран python. Сейчас стоит задача определиться с выбором фреймворка для тестирования.
Гуглил на этот счет и пока что выбрал nose, robot framework.
Но особых притязаний к какому-либо еще нет. Может есть другие хорошие варианты?
Подскажите опытные автоматизаторы, какой фреймворк подобрать.
Какой фреймворк быстрее по написанию тестов, какой с архитектурой по проще.
Немного о проекте.
Проект имеет веб фронтэнд, который будет тестироваться с webdriver. Также есть mysql бд, которая также будет участвовать в тест-кейсах. И будут использоваться bash команды для проверки директорий, логов, авторизаций и подобных команд юзера. Все это планировалось построить через unittest архитектуру. Но пока точного решения не принято.
[quote=“akim, post:1, topic:3476”]
И будут использоваться bash команды для проверки директорий, логов, авторизаций и подобных команд юзера.
[/quote]Старайтесь не плодить сущности. Все действия «баша» можно реализовать на Python.
Проще поддерживать (ваш напарник может знать Python и не знать Bash, например).
Остановился на Lettuce, потому что комьюнити живое и автор адекватно реагирует на замечания/предложения и активно добавляет новые функции и исправляет баги.
У нас кончилось тем что мы написали собственный велосипед над webdriver-ом основываясь на unittest. Отказались от BDD потому что:
Не факт что не возникнут “костыли”, которые не решатся синтаксисом этого самого BDD фреймворка.
Чтобы использовать его для системы тестирования нужно писать на определенном синтаксисе, а значит для новых тестеров будет порог вхождения не только языка, но и этого фреймворка. А на самописном получается что только языка в моем случае python/
А мы используем nosetests, он представляет собой расширение над стандартными unittest и облегчает написание тестов. Интересно, а какой функциональности вам не хватило, расскажите в кратце, что своё допиливали?
Тестируем REST, за основу взяли nose, не хватило функциональности Java-вского TestNG, поэтому попробовали Proboscis. Теперь имеем всю функциональность Nose (возможность использовать плагины, формировать отчёты) плюс немного TestNG-шных плюшек в виде группировки тестов, тестов с зависимостями, построения карты тестовой сюиты и т.д.
Думали о nosetests, но оказалось что простая надстройка над тестраннером unittest позволит нам покрыть весь функционал. Функциональности особо индивидуальной не преследовали, просто сделали все тесты в определенном порядке и в уровнях абстракции. Отдельные тесты с бэкендом и отдельные с фронтендом, а также совместные. Сейчас все это дело переезжает на Jenkins и теперь понадобились отчеты xml и скриншоты для падающих тестов. Поэтому еще используем xmlrunner который генерит отчеты для Jenkins. А скриншоты webdriver сам отлично фоткает.