Мы используем Java+JUnit+RestAssured. Все интегрировано в CI, тесты запускаются при каждом merge в главную ветку.
Почему выбрали именно это -
- Java - основная разработка ведется на Java, я как лид тестер комфортнее всего себя чувствую именно с Java, в компании есть бесплатные курсы Java, на которые ходят другие тестеры.
- JUnit - нет смысла расписывать, по желанию можно заменить на TestNG. Других алтернатива не знаю.
- RestAssured - позволяет отсылать HTTP запросы, легко парсить ответы. Код получается краткий, читабельный - я думаю это наиболее веский довод "ЗА". Не принципиально REST у вас или не REST (как у нас). Из коробки позволяет делать soft asserts, в нашей реальности это полезно.
Из недостатков могу сразу вспомнить то, что если по каким-то причинам ваш сервис присылает ответы в HTML формате, парсить такой ответ средствами RestAssured будет сложно - HTML часто содержит не закрытые теги и из-за этого возникают проблемы. Придется использовать сторонние библиотеки. С XML и JSON справляется отлично.