Автоматизированное тестирование web-сервисов Шерстобитов Дмитрий. Intetics
Автоматизированное тестирование web-сервисов
Шерстобитов Дмитрий. Intetics
Что такое web-сервис?QTP Web service Add inСлучай из практики
Что такое web-сервисы?
Web-сервис – удалённый программный модуль, предоставляющий свой функционал посредствам http
Web-сервис?
<?xml version="1.0" ?><definitions name=“blablabla" tsrgetNamespace=“http://...”xmlns:soap="http://(soaporg)/wsdl/soap"xmlns="http://(soaporg)/wsdl/"><types><elements>...</elements></types><message>...</message><portType>...</portType><binding><operation><input>...</input><output>...</output></operation></binding><service>...</service></definitions>
WSDL(Web Services Description Language) - XML-ориентированный язык, описывающий web-сервис
WSDL?
<env:Envelopexmlns:env="http://www.w3.org/2001/06/soap-envelope"><env:Body><m:ValidatePostcodeenv:encodingStyle="http://www.w3.org/2001/06/soap-encoding"xmlns:m="http://www.somesite.com/Postcode"><Postcode>WC1A8GH</Postcode><Country>UK</Country></m:ValidatePostcode></env:Body></env:Envelope>
SOAP?
Спецификация SOAP определяет XML-«конверт» для передачи сообщений
UDDI?
Система UDDI(Universal Description, Discovery and Integration ) позволяет компаниям представить свой web-сервис для общественности
Зачем нужна автоматизация?
В большинстве случаев GUI не предусмотрен
Сокращает время на проверку простых сценариев
Регрессионное тестирование никто не отменял
Незаменима при нагрузочном тестировании
А что автоматизировать?
Всё то же самое, что и для обычного приложения
QTP Web service Add in
Web Сервис
МетодыQTP
(WSDL для сканирования)
Использование объекта WebService позволяет настраивать способ коммуникации qtp – web-сервис
Тестирование бизнес-
процессов
Доступ к методам сервиса
Создание web service
объекта
От простого к сложному
Определение WSDL для сканирования
Выбор сервиса и требуемых методов Finish
Определение web service объекта
Определение WSDL для сканирования
Выбор сервиса и требуемых методов Finish
Определение web service объекта
Определение WSDL для сканирования
Выбор сервиса и требуемых методов Finish
Определение web service объекта
Определение WSDL для сканирования
Выбор сервиса и требуемых методов Finish
Определение web service объекта
После создания объекта, появляется доступ к методам сервиса.
VerifyXMLFile – сравнивает два XML файла;
VerifyXMLValue- проверяет содержание тегов на ожидаемый результат;
ValidateXML – проверяет XML файл на соответствие с заданной схемой;
OutputXMLValue – возвращает значение заданного тега.
..\%QuickTest Professional HOME%\dat\BPT_Resources\
Встроенные функции
• XMLHttpRequest
Создание объекта
• FileSystemObject
Заполнение SOAP
• XMLHttpRequest.send
Посылка конверта
• objXML.responseXML
Получение ответа
• DOMDocument
Верификация
• Log file
Результат
Альтернативный VBS вариант
• XMLHttpRequest
Создание объекта
• XMLHttpRequest.send
Посылка конверта
• objXML.responseXML
Получение ответа
• FileSystemObject
Сохранение ответа в XML файл
Используя XMLHttpRequest объект, можно открыть\закрыть соединение и передать\получить конверт
XMLHttpRequest.open(…)XMLHttpRequestclose(…)XMLHttpRequest.send(…)XMLHttpRequest.responseXML
XMLHttpRequest
• DOMDocument
Создание объекта
• DOMDocument• load
Получение XML данных
• GetElementsBy• TagName
Верификация по тегам
• FileSystemObject
Запись в лог и отчёт
Для обработки полученного ответа используется DOMDocument объект
DOMDocument.load(…)DOMDocument.GetElementsByTagName(…)
DOMDocument
Итого:
Стратегия тестирования web-сервисов ничем не отличается от тестирования других продуктов
Автоматизация здесь играет не последнее значение в виду отсутствия пользовательского интерфейсаДля автоматизации подойдёт любое средство от мало до велико, выбирать вам
Вопросы
Dmitry SherstobitovSkype: dmitry_sherstobitov