Помощь в автоматизации веб-сервисов

Всем привет! :)

Ребята, есть вопрос, кто может - отзовитесь! :)

Работаю функциональным тестировщиком, но по проекту необходимо написать автоматизацию веб-сервисов. Т.е. ручную часть я сделаю через SoapUI, а чтобы все это потом происходило без моего вмешательства я хочу автоматизировать. Вопрос в выборе средства. Много всего написано про Jmeter, можно его, но я им никогда раньше не пользовался. Проект пишется на .Net, коллеги-программисты говорят, чтобы я брал Visual Studio, и там писал тесты, если что - помогут (у меня есть небольшой любительский опыт программирования на java, на .Net - нету). И всё же выбор за мной. Подскажите ребят, что лучше подойдет для автоматизации веб-сервисов, ну и вообще ваши идеи по поводу этой ситуации...:) Заранее спасибо! :)

Можно автоматизировать тестирование веб-сервисов и при помощи SoapUI.

Ваши коллеги предлагают вам следующий путь: создаете Тестовый проект. Подкладываете интерфейсы с описанием сервисов, настраиваете эндпоинты, создаете тест-классы и в них вызываете необходимые сервисы и добавляете к этому проверку данных.

В варианте с SoapUI вам придется парсить XML или JSON возвращаемый веб-приложением. Этот вариант более наглядный, чем предыдущий. Но придется писать скрипты парсинга и проверки данных на Groovy.

Лично для меня был бы предпочтительнее первый вариант, т.к. с SoapUI я не работал.

Я вам тоже советую использовать .Net с ним автоматизировать что-либо, веб-интерфейс или веб-сервисы проще простого. Я сам тестирую свои сервисы средствами Microsoft. Там все очень просто

1) Создаете обычный проект тестов (библиотеку классов).

2) Подключаете библиотеку Nunit

3) Правой кнопкой на проекте - добавить ссылку на службу, добавляете ссылку на WSDL файл своего сервиса.

4) Тестируете :) Вызываете методы и передаете туда параметры.

 

В отличии от Jmeter вам не надо заморачиваться с XML, SOAP, JSON и прочими протоколами, вы все делете через конструктор и проводите полное функциональное тестирование. Но зато с помощью Jmeter вы можете провести нагрузочное тестирование сервисов. И тот и другой инструмент подходит для вашей задачи, тут дело вкуса :)

Ps Подозреваю что на Java тоже можно создать клиента для веб-сервиса и точно так-же протестировать его, но к сожалению опыта с Java у меня не много :)

http://www.slideshare.net/taraslytvyn/testing-web-services

вот моя презентация, еще есть видео с доклада, но оно на украинском, если интересует, то могу скинуть ссилку.

Насколько я помню, для автоматизации на SoapUI нужна платная версия SoapUI Pro... Или я ошибаюсь?

А с Visual Studio на .Net же тоже можно нагрузочное тестирование писать?:)

Да, Тарас, будьте добры - скиньте плиз, посмотрю! :)

Ребят, всем спасибо большое! :)

SoapUI это собственно и есть тул для автоматизации тестирования WEB сервисов. Можно все автоматизировать и бесплатной. Но придется действительно парсить XML, скорее всего писать looper и т.д. Платная не такая уж и дорогая, но она позволяет в принципе избежать программировния вовсе. Мало того, синтаксис Java полностью поддерживается Groovy. Это значит что не надо будет учить Groovy (который к слову простой и наглядный да к тому же и динамический) а можно писать на Java. 

Также SoapUI позволяет подключить любую Java библиотку и пользуясь API делать что необходимо. Также в SoapUI есть JDBC тест степы, которые позволяют работать с БД и возвращать результат как XML. 

Мое, имхо, именно писать кода нуджно будет меньше в SoapUI чем в студии. Более того, тестируя вручную методы веб сервиса с помощью SoapUI вы тем самым автоматизируете тестирование. Вы ведь уже создали запрос и проверили его визуально. Осталось проверку автоматизировать. 

Хотел написать примерно то же самое, но меня опередили )))

Добавлю, что присутствует гибкая интеграция с Maven'ом и  Jenkins'ом. Кроме того, есть еще собственный раннер для тестов из консоли

 

если не xml а json например придеться парсить то можна простой Jackson заюзать и все будет работать...

http://www.youtube.com/watch?v=khmkBQSllLw