how create mock service
В този урок ще разгледаме всичко за фиктивни услуги. Ще се научиш:
примери за скриптове на сайтове в Java
- Какво е фиктивна услуга и защо се изисква?
- Как да създам фалшива услуга в SOAPUI?
- Какво е макет операция и динамичен макет отговор?
- Разбиране на макетни операции и методи за изпращане с пример.
- Скриптове за макет отговор.
Какво ще научите:
- Мокет услуга:
- Фиктивна работа и динамични фиктивни отговори:
- Разбиране на методите за изпращане:
- Скриптове за макет отговор:
- Заключение:
- Препоръчително четене
Мокет услуга:
Подигравателен уеб услуга ще помогне да се симулира отговор на заявката на уеб услуга. Това е много ефективен инструмент за тестване на уеб услуги офлайн, докато ги изграждате и оценявате.
Препоръчително четене => 15+ Най-добри уроци за SoapUI
Следват стъпките в SOAPUI за създаване на проект с помощта на уеб услуга WSDL и създаване на макет услуга от него.
За простота използвах примерен WSDL в този урок:
# 1) Създайте проект за сапун, като използвате следния WSDL:
http://www.webservicex.com/globalweather.asmx
(Забележка:Кликнете върху всяко изображение за увеличен изглед)
# две) Изберете опцията „Генериране на MockService“, като щракнете с десния бутон върху името на проекта.
# 3) В MockService диалогов прозорец, налични са опции за промяна на номера на порта и името на хоста.
# 4) Отговорът по подразбиране се създава в услугата Mock.
# 5) Стартирайте фиктивна услуга.
# 6) Отворете услугата WSDL в браузър.
# 7) WSDL на фиктивната услуга ще изглежда по-долу в браузъра:
# 8) Копирайте URL адреса на услугата WSDL и го използвайте като New EndPoint, за да изпратите заявка до фалшивата услуга.
# 9) Изпратете заявка до новодобавената крайна точка, за да получите отговор от Mock Service.
linux команда за сравнение на два файла
Фиктивна работа и динамични фиктивни отговори:
След като заявката бъде получена от фалшива услуга, тя ще я прехвърли в фалшивата операция. След това Mock операцията избира правилния отговор от списъка с отговори и го връща обратно към уеб услугата.
1) Можем да добавим още един фиктивен отговор и да зададем a динамичен отговор въз основа на заявката / заявката или изпратете отговор последователно или произволно.
2) За да добавите нов макет отговор, щракнете с десния бутон върху фиктивната операция и изберете New Mock Response.
3) Сега в New Mock Response2, ако е необходимо, можете да създадете отговор на повреда на сапун.
4) Двойното щракване върху фиктивната операция ще отвори конфигурационния панел, който предоставя начини за задаване на динамични отговори
Разбиране на методите за изпращане:
В панела за конфигуриране, като изберете метода на изпращане, можем да зададем динамичен отговор
Нека да видим различни методи за изпращане:
СЦЕНАРИЙ: Използвайки скрипт, можем да зададем динамичен отговор въз основа на съдържанието на заявката.
Вижте следния пример:
В метода на скрипта, използвайте Groovy скрипт за да прочетете съдържанието на заявката и да извлечете стойността на конкретен възел. Вижте следния пример за скрипт, където реакцията на резултата се променя в зависимост от стойността на заявката за въвеждане.
import javax.xml.xpath.* import groovy.xml.StreamingMarkupBuilder import groovy.lang.Binding; import groovy.lang.Script; def util = new com.eviware.soapui.support.GroovyUtils( context ) def xml = new XmlSlurper().parseText(mockRequest.requestContent) def country = xml.Body.GetCitiesByCountry.CountryName def str = country.toString() log.info str def len = str.size() log.info len if(len > 1 ) { context.ResultResponse = 'Response1' log.info 'r1' } else if(len <= 1) { context.ResultResponse='InvalidMockResponse 2' log.info 'r2' }
ПОСЛЕДОВАТЕЛНОСТ : Това е прост начин за изпращане на отговори. Отговорите ще се изпращат в последователност, т.е. първа заявка първи отговор, следваща заявка следващ отговор и т.н.
QUERY_MATCH : Запитването може да бъде малко сложен метод за изпращане. При този метод отговорът се основава на резултата от заявката.
В панела за конфигуриране можем да изброим една или повече заявки вляво, а в десния панел можем да посочим заявката (XPATH) и очакваната стойност. Ако заявката съвпада с очакваните стойности, избраният отговор ще бъде изпратен. В противен случай ще се върне отговорът по подразбиране.
XPATH : Това е почти подобно на QUERY_MATCH, но не е толкова мощно. Той изпраща отговор, ако XPATH съвпада.
СЛУЧАЙНА : Това е още един прост начин за изпращане на отговори; той просто приема произволен отговор по случаен начин и изпраща веднага.
Скриптове за макет отговор:
Сценарият е най-гъвкавият и сложен вариант. Но скриптовете предоставят начин за промяна на съдържанието на фалшиви отговори, заглавки, прикачени файлове, докато го изпращате на клиента. Също така ви позволява да симулирате валидни или невалидни HTTP отговори. Всеки фалшив отговор може да има собствен скрипт за създаване на динамично съдържание в съобщението за отговор.
Инспекторът на скриптове в долната част на редактора на фалшиви отговори е показан по-долу:
как да напиша пример за план за тест
Пример за скрипт:
import javax.xml.xpath.* import groovy.xml.StreamingMarkupBuilder import groovy.lang.Binding; import groovy.lang.Script; def util = new com.eviware.soapui.support.GroovyUtils( context ) def xml = new XmlSlurper().parseText(mockRequest.requestContent) def country = xml.Body.GetCitiesByCountry.CountryName def str = country.toString() log.info str if(str == 'India' || str == 'INDIA') { context.CaptialCity = 'Delhi' } else if(str == 'UK' || str == 'Uk') { context.CaptialCity = 'London' }
В горния пример скриптът просто задава стойността на свойството ‘CaptialCity’ в отговор на текущия контекст.
Можем да използваме различни начини за създаване на динамично съдържание на свойството като заявка към база данни или четене на външен файл и т.н.
Заключение:
Mock Services е една от най-мощните функции на SOAPUI. Mock Service излага редица фалшиви операции, които от своя страна могат да съдържат произволен брой фалшиви отговори. Тези отговори ще осигурят осезаем начин да се оцени как всъщност ще работи уеб услугата, как потребителите ще реагират на нея и ще използват приложението.
Динамичните фиктивни отговори в SOAPUI го правят супер полезен при тестовата автоматизация.
С някои допълнителни усилия за скриптиране можете да създадете автоматизирани тестови стъпки, които със сигурност ще повишат качеството на тестването, както и ще намалят времето за тестване във фазите на разработка на всяко уеб приложение.
Надявам се, че този урок за създаване на фалшива услуга и създаване на динамичен отговор е полезен. Чувствайте се свободни да добавяте вашите запитвания в коментарите по-долу.
Препоръчително четене
- Кратко ръководство за SoapUI за съхраняване на данни за заявки и отговори във файл - Урок SoapUI # 15
- Как да създадете и изпълните първия си проект на SoapUI с помощта на WSDL - Урок № 4 за SoapUI
- 15+ урока за SoapUI: Най-добрият инструмент за тестване на API за уеб услуги
- 4 Важни характеристики на SoapUI Pro за професионална аудитория - Урок SoapUI # 12
- Стъпка по стъпка Процес на изтегляне и инсталиране на SoapUI - Урок № 3 на SoapUI
- Как да се справя с изключенията в скриптове Groap на SoapUI - Урок № 11 за SoapUI
- Как да използвам свойства в SoapUI Groovy Script - Урок SoapUI # 7
- Разбиране на твърдения в SoapUI - Урок № 5 за SoapUI