working with soapui properties soapui tutorial 8
Ten samouczek dotyczy właściwości SoapUI. W ostatnim samouczku SoapUI widzieliśmy jak dodać właściwości w skrypcie Groovy .
Nieruchomość w MYDŁO jest podobna do zmiennej / parametru iw tym samouczku omówimy, jak używać jednego z nich w żądaniu usługi i przypisywać do niego wartość odpowiedzi za pomocą skryptów. Później przejdziemy do etapu testowania przenoszenia usług, a następnie zaimportujemy właściwości.
To jest 8 samouczek w naszym Szkolenie online SoapUI seria.
Czego nauczysz się z tego samouczka SoapUI?
- Różne oblicza właściwości
- Integrowanie właściwości w zgłoszeniu serwisowym
- Zrozumienie kroku testowego przeniesienia własności
- Załaduj właściwości zewnętrznie
Istnieją dwarodzaje właściwości w SoapUI:
- Właściwości domyślne : zawarte w instalacji SoapUI. Możemy edytować niektóre domyślne właściwości, ale nie wszystkie.
- Właściwości niestandardowe / zdefiniowane przez użytkownika : Są one definiowane przez nas na dowolnym wymaganym poziomie, takim jak globalny, projekt, zestaw testów, przypadek testowy lub krok testowy.
Najczęściej używane są właściwości przechowywać i pobierać dane podczas wykonywania przypadków testowych. Właściwość wewnętrzna będzie przechowywać wartość w formacie pary kluczy.
Na przykład , w poniższym oświadczeniu „Local_Property_FromCurrency” to nazwa klucza, a „USD” odnosi się do wartości. Aby uzyskać dostęp do wartości właściwości, musimy użyć nazwy właściwości.
testRunner.testCase.testSteps („Właściwości”). setPropertyValue
(' Local_Property_FromCurrency ', „USD” )
Czego się nauczysz:
- Różne poziomy właściwości w SoapUI Pro
- Więcej szczegółów na temat właściwości wraz z przykładami
- Korzystanie z właściwości w usługach
- Przeniesienie własności
- Wniosek
- rekomendowane lektury
Różne poziomy właściwości w SoapUI Pro
Omówmy różne poziomy właściwości w SoapUI Pro. W SoapUI dostępne są trzy poziomy właściwości.
Poziom 1. Projekt i właściwości niestandardowe
Na tym poziomie właściwości są podzielone na dwie sekcje. Są to właściwości projektu i właściwości niestandardowe. Pojawią się one u dołu panelu nawigatora, gdy klikniemy na nazwę projektu. Sekcja właściwości projektu zawiera właściwości domyślne, które są tworzone podczas tworzenia projektu, na przykład nazwa, opis, plik itp.
W celu stworzenia własnych właściwości możemy skorzystać z zakładki Własności niestandardowe. Kliknij ikonę plusa, aby utworzyć właściwości:
Dostępnych jest wiele innych opcji, takich jak usuwanie, przesuwanie w górę, w dół i sortowanie obok dodawania. Dowolną liczbę właściwości niestandardowych można dodać i używać w dowolnych sekcjach (zestaw testów, przypadki testowe) w projekcie.
Poziom 2. Zestaw testów i właściwości niestandardowe
Te właściwości są widoczne tylko w zestawie testów. Zestaw testów może zawierać dowolną liczbę właściwości i można uzyskać do nich dostęp z dowolnych kroków testowych należących do tego zestawu testów.
Właściwości zestawu testów pojawiają się po kliknięciu odpowiedniej nazwy zestawu testów pod projektem. Aby w razie potrzeby dodać właściwości niestandardowe, kliknij kartę Właściwości niestandardowe i kliknij znajdujący się pod nią znak „+”.
Właściwość nr 3. Przypadek testowy i właściwości niestandardowe
Właściwości przypadku testowego są dostępne w przypadku testowym. Nie są one dostępne w innych krokach przypadków testowych ani nawet w zestawie testów w ramach projektu.
Pytania i odpowiedzi do wywiadów j2ee dla starszych programistów
Więcej szczegółów na temat właściwości wraz z przykładami
Właściwości mogą przechowywać punkty końcowe, dane logowania, informacje nagłówka, domenę itp., Chociaż omówiliśmy zapisywanie i odczytywanie danych do / z właściwości, nie omówiliśmy jeszcze tego tematu szczegółowo z przykładem.
Omówione powyżej poziomy właściwości są używane w skryptach do odczytu danych.
# 1. Właściwości czytania:
Przyjrzymy się, jak możemy odczytać właściwości w groovy script. Aby uzyskać dostęp do właściwości różnych poziomów, poniżej przedstawiono składnię:
Projekt: Składnia: $ {# Nazwa projektu # wartość}
Przykład:
pok pr ojectPro = testRunner.testC do se.testSuite.project.getPropertyValue
(„Właściwość_poziomu_projektu”)
„Project_Level_Property”)
log.info (projectPro)
Zestaw testów: Składnia: $ {# TestSuite # Value}
Przykład:
pok testP ro = testRunner.testCase.testSuite.getPropertyValue („Testsuite_Property”)
log.info (testPro)
Przypadek testowy: Składnia: $ {# TestCase # Wartość}
Przykład:
pok test casePro = testRunner.testCase.getPropertyValue („Testcase_Property”)
log.info (testcasePro)
Zobacz zrzut ekranu poniżej:
# 2. Pisanie do właściwości:
Aby to zrobić, musimy użyć setPropertyValue metoda.
Składnia: setPropertyValue („nazwa właściwości”, „wartość”)
Jeśli przypiszemy wartości do nieznanych właściwości, SoapUI utworzy te właściwości od nowa. Dla istniejących właściwości otrzymają wartości podczas przypisania.
# 3. Usuwanie właściwości za pomocą skryptu:
Można to zrobić, klikając prawym przyciskiem myszy nazwę właściwości w panelu właściwości. Następnie kliknij opcję Usuń z menu kontekstowego.
Aby to zrobić za pomocą skryptu do usuwania właściwości niestandardowych, użyj następujących instrukcji odpowiednio dla poziomów projektu, zestawu testów lub przypadków testowych:
testRunner.testCase.testSuite.project.removeProperty („Testcase_Property”);
testRunner.testCase.testSuite.removeProperty („Testcase_Property”);
testRunner.testCase.removeProperty („Testcase_Property”);
Powyższe skrypty nie są optymalne, gdy mamy wiele właściwości na każdym poziomie, ponieważ te kroki trzeba powtarzać kilka razy dla każdej właściwości. Alternatywą jest iteracja właściwości za pomocą skryptu, jak poniżej:
testRunner.testCase.properties.each
{
klucz, wartość ->
testRunner.testCase.removeProperty (klucz)
}
Powyższy skrypt będzie iterował do ostatniej właściwości dostępnej w przypadku testowym. „ Klucz ”Odnosi się do nazwy nieruchomości, gdzie jako„ wartość ”Oznacza rzeczywistą wartość nieruchomości. Możemy zmodyfikować powyższy skrypt, aby usunąć listę właściwości zbiorczych obecnych na różnych poziomach.
# 4. Dodaj nieruchomość:
AddProperty W tym celu używana jest metoda, której składnia jest następująca:
addProperty (nazwa właściwości);
Można to dostosować dla każdego poziomu, jak poniżej:
testRunner.testCase.testSuite.project.addProperty („ProjectProperty1”)
testRunner.testCase.testSuite.addProperty („TestsuiteProperty1”)
testRunner.testCase.addProperty („TestcaseProperty1”)
Po wykonaniu powyższych skryptów kliknij nazwę projektu / zestawu testów / przypadku testowego. Sprawdź zakładkę właściwości niestandardowych w panelu właściwości, a utworzona właściwość pojawi się tutaj. Zobacz poniżej w celach informacyjnych:
Korzystanie z właściwości w usługach
W tej sekcji dowiemy się, w jaki sposób możemy wykorzystać właściwości w usługach i będziemy używać powyższych skryptów do dodawania, przypisywania, pobierania danych właściwości za pomocą usługi internetowej przelicznika walut.
Integrowanie właściwości w usłudze:
Zacznijmy dodawać kroki testowe, jak pokazano na poniższym zrzucie ekranu.
Na powyższym zrzucie ekranu krok testowy AddProperties_Script zawiera następujący skrypt, który dodaje dwie właściwości, takie jak Property_FromCurrency i Property_ToCurrency .
// Dodaj właściwości
testRunner.testCase.addProperty („Property_FromCurrency”)
testRunner.testCase.addProperty („Property_ToCurrency”)
// Przypisz wartości do właściwości
testRunner.testCase.setPropertyValue („Property_FromCurrency”, „USD”)
testRunner.testCase.setPropertyValue („Property_ToCurrency”, „INR”)
w ServiceRequest_CurrencyConverter_1 zawiera żądanie z parametrami wejściowymi, jak pokazano poniżej:
Przypisane wartości we właściwościach zostaną przeniesione do tych parametrów podczas wykonywania. Po tym kroku testowym GetResponseData_Script Krok testowy zawiera skrypt, który pobierze wartość odpowiedzi i pokaże wynik w dzienniku. Oto scenariusz.
// Pobierz dane odpowiedzi z usługi
def response = context.expand (‘$ {ServiceRequest_Currency
Converter_1 # Response} ”)
def parsedResponse = new XmlSlurper (). parseText (odpowiedź)
String convertValue = parsedResponse.Body.ConversionRateResponse.
ConversionRateResult.text ()
log.info (ConvertValue)
Gdy wszystkie kroki są gotowe, kliknij dwukrotnie nazwę zestawu testów i uruchom zestaw testów. Następnie kliknij dwukrotnie plik ServiceRequest_CurrencyConverter_1 i zobacz sekcję odpowiedzi.
Oto, co znaleźlibyśmy:
- Odpowiedź zostanie odebrana
- Otwórz dziennik skryptu, aby zobaczyć wynikowe dane, które są konwertowane na podstawie parametrów wejściowych
W ten sposób możemy przekazać parametry do żądania wejściowego i uzyskać odpowiedź za pośrednictwem skryptu przy użyciu właściwości. Idąc dalej, możemy również przekazać wartość odpowiedzi do innej usługi jako dane wejściowe.
Przeniesienie własności
Etap testu transferu właściwości przenosi dane właściwości z jednej właściwości do drugiej podczas wykonywania. Zobaczmy w skrócie, w jaki sposób możemy utworzyć krok testu przenoszenia właściwości i jak wartość właściwości jest przenoszona między dwiema właściwościami.
- Kliknij prawym przyciskiem myszy nazwę przypadku testowego w zestawie testów
- Kliknij Dodaj krok a następnie kliknij Nieruchomości opcja z menu kontekstowego
- Powtórz powyższe kroki, aby utworzyć drugą właściwość. Zobacz poniższy zrzut ekranu:
- Teraz musimy dodać krok testu transferu nieruchomości.
- Kliknij prawym przyciskiem myszy nazwę przypadku testowego i kliknij opcję przenoszenia właściwości z menu kontekstowego
- Wprowadź żądaną nazwę przeniesienia własności, a następnie kliknij OK
- Kliknij Dodaj, czyli znak plus na pasku narzędzi przenoszenia właściwości
- Określ nazwę transferu, a następnie kliknij przycisk OK
- W panelu po prawej stronie dostępne są dwie sekcje: Źródło i Cel.
Wybierz źródło jako Nieruchomości i własność jak Property_Zipcode . Zrób to samo w sekcji docelowej. Wybierać Właściwość_docelowa z listy rozwijanej właściwości. Po uruchomieniu ikony wartość właściwości zostanie przeniesiona z Property_Zipcode do Właściwość_docelowa .
(Kliknij na obrazek, aby wyświetlić powiększenie)
Zobacz przesłaną wartość, jak pokazano na poniższym zrzucie ekranu.
Uwaga: Właściwość źródłowa powinna zawierać wartość domyślną.
Oprócz tego na ekranie przenoszenia nieruchomości dostępnych jest wiele opcji.
- Błąd transferu w przypadku błędu
- Przenieś zawartość tekstową
- Przenieś do wszystkich
- Uprawnij do przeniesienia wartości
- Ustaw wartość Null w przypadku braku źródła
- Ignoruj puste / brakujące wartości
- Użyj XQuery
- Przenieś węzły podrzędne
Załaduj usługi ze źródła zewnętrznego:
Aby załadować właściwości ze źródła zewnętrznego, wykonaj następujące kroki.
- Dodaj krok testowy Właściwości pod przypadkiem testowym
- Wprowadź nazwę kroku właściwości, a następnie kliknij przycisk OK
- W panelu właściwości pod panelem nawigacji kliknij kartę Właściwości niestandardowe
- Kliknij
ikona, aby wczytać właściwości z zewnętrznego pliku właściwości
Uwaga: Plik właściwości powinien być zapisany lub obecny na komputerze. Aby zapisać właściwości, kliknij ikonę.
Następnie przejdź do odpowiedniego dysku i wybierz nieruchomość, jak pokazano poniżej:
Po OK możemy zobaczyć załadowane właściwości i ich wartości na karcie Właściwości niestandardowe.
Wniosek
Cóż, to dla nas właściwości!
Właściwości każdego poziomu mają swoją własną charakterystykę. Podczas praktyki SoapUI staraj się włączać właściwości, gdy tylko jest to możliwe, w kroku testowym skryptu groovy w celu dodawania, usuwania, przypisywania i pobierania danych właściwości. Jest to przydatne nie tylko podczas ćwiczeń z usługami, ale także krytyczne dla rzeczywistego testowania aplikacji, ponieważ ta technika jest bardzo pomocna potwierdź swoje przypadki testowe .
Przenoszenie właściwości między krokami testowymi jest łatwiejsze niż pisanie powtarzających się skryptów do tworzenia nowych. SoapUI zapewnia również wspaniałą funkcję importowania i eksportowania właściwości. Ta funkcja będzie przydatna, gdy używamy wspólnych właściwości, takich jak dane logowania, szczegóły sesji itp., Dla wielu projektów. W ten sposób nie musimy ciągle tworzyć tych samych właściwości dla wielu projektów. Możemy po prostu zmienić wartość właściwości w stosunku do właściwości opartych na projektach.
Następny samouczek nr 9 : W następnym tutorialu SoapUI dowiemy się Instrukcje warunkowe w Groovy, takie jak:
- Instrukcje logiczne
- Instrukcje iteracyjne
- Tablice w Groovy
To tyle na dziś. Czytaj dalej, a zobaczymy się w następnym samouczku. Podziel się swoimi pytaniami, komentarzami i doświadczeniami poniżej.
rekomendowane lektury
- Jak korzystać z właściwości w skrypcie SoapUI Groovy - samouczek SoapUI # 7
- Jak przeprowadzić testy oparte na danych w SoapUI Pro - samouczek SoapUI nr 14
- Ponad 15 samouczków SoapUI: Najlepsze narzędzie do testowania interfejsu API usług internetowych
- Jak napisać podstawowy skrypt Groovy w SoapUI - SoapUi Tutorial # 6
- Dogłębne samouczki dotyczące Eclipse dla początkujących
- 7 ważnych funkcji SoapUI i SoapUI Pro - samouczek 2
- Zrozumienie asercji w SoapUI - SoapUI Tutorial # 5
- 4 Ważne cechy SoapUI Pro dla Pro Audience - SoapUI Tutorial # 12