Использование SoapUI для анализа WSDL

advertisement
SoapUI
Содержание лекции





Зачем нужен SoapUI?
Основные возможности
Тестовый проект – “Students”
Использование SoapUI для анализа WSDL
Создание заглушек




Зачем нужен SoapUI?
WSDL схема сложна для понимания – нужен
инструмент, адаптирующий её для лёгкого
восприятия
Тесты часто приходится писать до того, как
будет реализован сам сервис – нужны заглушки
для тестирования
При тестировании необходим инструментарий
не только для исполнения тесткейсов, но и для
их хранения и поддержания.
Всё это позволяет делать SoapUI.








Основные возможности
Анализ WSDL схемы
Прототипирование
Функциональное тестирование
Нагрузочное тестирование
Параметризация тесткейсов
Автоматическое создание тесткейсов
Различные виды проверок (Assertions)
Тестовый проект - “Students”



Для лучшего понимания функционала SoapUI
будем разбирать его на примере выдуманного
сервиса Students.
Задача сервиса – возвращать ? по его ?, либо ?
зная его ?
Адрес файла WSDL для сервиса - http://tuni.dyndns.org/Students.wsdl
Использование SoapUI для
анализа WSDL


Создайте новый проект в SoapUI выбрав в
меню File → New SoapUI project
Введите в поле Initial WSDL/WADL
корректный адрес к WSDL-схеме
Использование SoapUI для
анализа WSDL

После нажания кнопки OK вы увидите новый
проект в Навигаторе в левой части экрана
Использование SoapUI для
анализа WSDL

Двойной щелчок на зелёной литере I в
навигаторе вызовет Инспектор WSDL-схемы
Использование SoapUI для
анализа WSDL

Также можно посмотреть SOAP-запросы,
дважды кликнув на запросе в навигаторе




Создание заглушек
В случае, если разрабатываемый сервис еще не
предоставляет никакого функционала, а тесты
писать уже нужно, на помощь приходят
заглушки (Mocks)!
Заглушки позволяют смоделировать поведение
сервиса так, как если бы он уже работал, что
даёт возможность не писать тесты в слепую
Заглушки могут быть предоставлены заказчику
для оценки
Создание заглушек недостатки





Приходится делать двойную работу
В заглушках могут быть баги
Заглушки всегда будут отличаться от реального
сервиса
Продвинутые заглушки требуют знания Groovy

Создание заглушек
Создать заглушку для существующих методов WSDLсхемы можно кликнув правой кнопкой на интерфейсе
(зелёная литера I в навигаторе) и выбрав Generate
Mock Service, в появившемся окне нужно нажать ОК,
и затем указать название заглушки (можно оставить
по-умолчанию).



Создание заглушек
После создания заглушки автоматически
откроется окно её свойств.
Запустить заглушку можно нажав на зелёный
треугольник в левом верхнем углу окна
свойств.
Задание для самостоятельной
работы
A)Изучить WSDL-схему приложения Postcard, и
составить базовые тесты для него используя
SoapUI.
B)Описать функционал сервиса в текстовом виде.
C)Описать тесткейсы для проверки с помощью
SoapUI в текстовом виде.
D)Протестировать функционал сервиса
E) (минимум 3 теста, в каждом тестовом шаге
минимум 3 проверки).
WSDL-схема находится по адресу: http://tuni.dyndns.org:9080/cards/cards?WSDL
Виды проверок в тесткейсах
Contains
Проверяет ответ на наличие указанной строки
X-Path match
Проверяет значение Xpath выражения на
соответсвие ожидаемому
SoapFault
Проверяет, что ответ является сообщением об
ошибке
ResponseSLA
Проверяет, чтобы время выполнения запроса
было меньше указанной величины
Параметризация
Для тестирования можно использовать в запросах
изменяемые параметры
Параметры имеют различный уровень
#Project# - параметры, общие для всего проекта
#TestSuite# - параметры, общие для тест
комплекта
#TestCase# - параметры, указываемые для
конкретного тест-кейса
Параметризация
Чтобы обратиться к параметру, необходимо в теле
запроса указать
${#Уровень#параметр}
К примеру, для параметра user определённого на
уровне тесткейса нужно написать
${#TestCase#user}
Задание для самостоятельной
работы
A)Изучить WSDL-схему сервиса ConvertSpeed
http://www.webservicex.net/ConvertSpeed.asmx?
WSDL
B)Описать функционал сервиса в текстовом виде.
C)Описать тесткейсы для проверки с помощью
SoapUI в текстовом виде.
D)Протестировать функционал сервиса
E) (минимум 3 теста, в каждом тестовом шаге
минимум 3 проверки)
Download