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


(Antonio) #1

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

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

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


(Hackett) #2

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

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

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

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


(qaleader) #3

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

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

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

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

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

 

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

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


(Taras) #4

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

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


(Antonio) #5

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


(Antonio) #6

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


(Antonio) #7

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


(Antonio) #8

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


(tisaser) #9

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

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

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


(dysen) #10

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

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

 


(Taras) #11

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


(Taras) #12

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