Wyślij zapytanie Dołącz do Sii

SoapUI jest to oprogramowanie do testowania aplikacji posługujących się protokołem SOAP (Simple Object Acces Protocol) polegającej na wymianie informacji między aplikacjami za pomocą WebService’ów komunikujących się poprzez komunikaty w formacie XML.

Od tego artykułu przez kilka następnych chciałbym zaprezentować proces tworzenia i wykorzystywania zewnętrznej biblioteki Java w projektach z wykorzystaniem narzędzia SoapUI.

Dzisiejszy wpis będzie omawiać następujące tematy:

  • Tworzenie projektu java z biblioteką umożliwiającą wykonywanie operacji na testach SoapUI
  • Tworzenie klasy generującej przykładowe dane do testów
  • Wczytanie zewnętrznej biblioteki java do SoapUI
  • Przykładowe wykorzystanie wcześniej napisanej klasy

W kolejnych wpisach będę starał się rozwinąć temat, tak aby użytkownik wiedział co dzięki takiemu rozwiązaniu jest w stanie uzyskać. Wpisy są skierowane głównie do osób z co najmniej podstawową znajomością narzędzia SoapUI oraz z dobrą znajomością Javy 1.6+.

Środowisko z którego korzystam to: Eclipse Mars 4.5.1, SoapUI 5.2.1 oraz JavaSE 1.7.

Interfejsy wykorzystywane w SoapUI podczas cyklu wpisów są napisane przeze mnie i nie są dostępne dla użytkowników zewnętrznych, stąd polecam skorzystać a przykładowych interfejsów dostępnych w internecie.

Na początek stwórzmy projekt Java:

p1

Teraz do projektu załączamy biblioteki które umożliwią nam operowanie na elementach SoapUI:

Klikamy drugim klawiszem na projekt -> BuildPath – > Configure BuildPath…

A następnie przechodzimy do zakładki Libraries:

p2

Naciskamy „Add External Jars…” i wybieramy ścieżkę „{SoapUI_Install_Folder}/Bin” i wskazujemy na bibliotekę o nazwie „SoapUI{versja }.jar” i załączamy ja do projektu.

W moim interfejsie mam metodę zarejestruj, dodaje ona do bazy danych użytkownika z określonymi przeze mnie danymi gdzie login oraz email muszą być unikatowe i chciałbym, aby te dwie wartości zmieniały się w danych testowych, a konkretniej w CustomProperties mojego Test Case’a przy każdym wywołaniu testu:

p3

Dodałem zatem krok groovy script, tak jak na załączonym screenie:

p4

Zwróćcie proszę uwagę na to, co wskazuje druga strzałka „Script is invoked with log, context and testRunner variables” te 3 zmienne odpowiadają za możliwość operowania Soapem z poziomu groovy scriptu i będą nam niezbędne podczas używania klasy zewnętrznej.

Teraz możemy utworzyć klasę java, która będzie nam generować odpowiednie dane. Napiszę w niej 2 metody, które będą odpowiedzialne za generowanie adresu email oraz loginu:

p5

Powyższa klasa, tak jak napisałem wcześniej, ma dwie metody i kontruktor przyjmujący „MockTestRunner” ze względu na to że takiego właśnie typu jest testRunner znajdujący się w Groovy Script Test Step.

Za jego pomocą, jak widać w oznaczonych liniach, dostałem się do przypadku testowego i zedytowałem pola „email” oraz „Login”.

Aby użyć ww. klasy jako zewnętrznej biblioteki, należy wyexportować nasz projekt do jara:

Drugi klawisz myszy na projekt -> export -> java -> Jar File, dodajemy nazwę i wybieramy miejsce docelowe dla zapisu.

Tak przygotowaną bibliotekę, dodajemy do katalogu: „{SoapUI_Install_Folder}/bin/ext” i restartujemy soapUI’a ponieważ zaczytuje on biblioteki zewnętrzne tylko podczas startu.

Teraz z biblioteki możemy korzystać w następujący sposób:

p6

W następnym artykule rozwinę naszą bibliotekę i pokażę jakie dodatkowe korzyści daje załączenie jej do swojego projektu.


Chcesz lepiej zrozumieć aplikacje i systemy, które testujesz? Dołącz do ModernTester, poznaj najpotrzebniejsze narzędzia, frameworki oraz języki programowania i ćwicz na specjalnie przygotowanych środowiskach testowych: Platforma e-learningowa ModernTester

4.4/5 ( głosy: 7)
Ocena:
4.4/5 ( głosy: 7)
Autor
Avatar
Tomasz Kaczyński

Pracuję jako Programista / Architekt w firmie Sii. Obecnie zajmuję się projektowaniem rozwiązań testowych oraz aplikacji do testów automatycznych, programuję w języku Java. Wcześniej pracowałem dla dużej polskiej firmy w projekcie typu Health Care. Pracowałem tam 3 lata, rok jako programista odpowiedzialny za jeden z podsystemów backend, wsparcie przy integracji oraz tworzeniu frontend, a także 2 lata jako test developer. Tworzyłem zewnętrzne klasy dla wsparcia testów SoapUI, byłem odpowiedzialny za testy podsystemów backend oraz pisałem framework w selenium dla systemów frontend. Prywatnie trenuję freestyle slalom, gram w siatkówkę, czytam książki - nie tylko fabularne ;). Lubię rozwijać swoje zainteresowania.

Zostaw komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Może Cię również zainteresować

Pokaż więcej artykułów

Bądź na bieżąco

Zasubskrybuj naszego bloga i otrzymuj informacje o najnowszych wpisach.

Otrzymaj ofertę

Jeśli chcesz dowiedzieć się więcej na temat oferty Sii, skontaktuj się z nami.

Wyślij zapytanie Wyślij zapytanie

Natalia Competency Center Director

Get an offer

Dołącz do Sii

Znajdź idealną pracę – zapoznaj się z naszą ofertą rekrutacyjną i aplikuj.

Aplikuj Aplikuj

Paweł Process Owner

Join Sii

ZATWIERDŹ

This content is available only in one language version.
You will be redirected to home page.

Are you sure you want to leave this page?