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 проверки)