w przeciwieństwie do starego & niezawodny Framework testowy JUnit, TestNG jest nowoczesnym narzędziem automatyzacji testów. Posiada wbudowaną obsługę testów opartych na danych i zapewnia dwa sposoby dostarczania danych do przypadków testowych, tj. poprzez parametry TestNG i adnotacje DataProvider.
Po dodaniu tych dwóch adnotacji, Framework TestNG wypełnił znaczną lukę, jaką miał jego poprzednik. Jedna z tych adnotacji dodaje możliwość używania stałych wartości danych w przypadkach testowych, podczas gdy druga pozwala na odpytywanie wartości z dowolnych zewnętrznych źródeł danych, takich jak Excel lub pliki właściwości.
w kolejnych sekcjach zobaczysz aktualne wykorzystanie zarówno parametrów TestNG, jak i adnotacji DataProvider z gotowymi do uruchomienia przykładami.
- Learn – TestNG parametry i adnotacje DataProvider
- korzyści z testowania parametrycznego
- @parameters Adnotacja
- przykład – Adnotacja @Parameters
- Krok 1
- Krok 2
- @opcjonalna Adnotacja
- przykład – @opcjonalna Adnotacja
- TestNG XML
- wyjście:
- @DataProvider Adnotacja
- Facts on @DataProvider Annotation
- jak używać adnotacji @DataProvider
- przykład za pomocą adnotacji @DataProvider
- TestNG plik XML
- wyjście:
- ostatnie słowo – parametry TestNG i DataProvider
Learn – TestNG parametry i adnotacje DataProvider
korzyści z testowania parametrycznego
zanim przejdziemy dalej, zrozumiemy korzyści płynące z testowania parametrycznego / opartego na danych. Każde narzędzie automatyzacji testów, które ma obie te możliwości, może skutecznie zająć się następującymi przypadkami.
- przetwarzaj duży zestaw danych zgodnie z wymaganiami biznesowymi.
- Uruchom ten sam test w kółko z różnymi wartościami.
zobaczmy teraz, kiedy i jak możemy użyć adnotacji<@parametry> w projektach TestNG.
@parameters Adnotacja
za pomocą tej adnotacji można zezwolić na pojedyncze, jak i wiele wartości parametrów do metod testowych.
możemy go użyć do testowania parametrów. Jest to wskazane, gdy dane są małe i stałe dla przypadków testowych.
przykład – Adnotacja @Parameters
wykonaj poniższe kroki, aby skorzystać z adnotacji<@Parameters >.
Krok 1
Utwórz nową klasę Java i nadaj jej nazwę<ParametersTesting.Java>. Dodaj następujące dwie metody w klasie.
i – OpenBrowser ()
- pobierze pojedynczy parametr typu String, np. nazwę przeglądarki.
- Dodaj parametry adnotacji @(„BrowserName”) do tej metody.
ii – Filloginform ()
Krok 2
Poniżej znajduje się TestNG.Plik XML z parametrami związanymi z metodami testowymi.
nadszedł czas na wykonanie testu<.Plik XML>. Kliknij prawym przyciskiem myszy plik XML z Eclipse IDE i naciśnij opcję ” Uruchom jako >> TestNG Suite”. Po wykonaniu, wynik zostanie wyświetlony jak ten podany na poniższym zrzucie ekranu.
kolejną ciekawostką dotyczącą TestNG jest to, że umożliwia on przekazywanie opcjonalnych parametrów za pomocą adnotacji @Optional.
@opcjonalna Adnotacja
Możesz użyć jej do określenia opcjonalnej wartości parametru, który nie jest dostępny w TestNG.Plik XML.
przykład – @opcjonalna Adnotacja
zobacz poniższy przykład @opcjonalna adnotacja.
TestNG XML
Oto „TestNG.XML ” związane z powyższym przykładem.
Możesz sprawdzić z powyższego < testng.XML> plik, który ma zdefiniowane dwie metody testowania. Pierwszy test nie ma żadnego parametru, podczas gdy drugi określa parametr o nazwie ” optional-value.”
wyjście:
Po uruchomieniu<testng.xml> jako pakiet testowy, wyjście będzie wyglądać następująco.
jeśli obserwujesz wyniki testu, TestNG użył wartości opcjonalnej podczas wykonywania pierwszej metody testowej. Stało się tak, ponieważ TestNG nie mógł znaleźć parametru o nazwie „optional-value” w pliku XML podczas pierwszego testu. Jednak w drugim teście rozwiązano wartość parametru, która również zostaje wydrukowana podczas wykonywania testu.
w przypadku notatek możesz użyć adnotacji parametru z dowolną z metod Przed/Po, fabrycznych i testowych. Dodatkowo można go używać do ustawiania zmiennych i używania ich w klasie, teście lub zestawie testów.
@DataProvider Adnotacja
dostawcą danych jest kolejna adnotacja, która obsługuje testowanie oparte na danych. Można go używać do obsługi szerokiego zakresu złożonych parametrów, takich jak następujące.
- Java objects
- Objects from a database
- Data from Excel or property files
Facts on @DataProvider Annotation
poniżej kilka interesujących faktów na temat dostawcy danych.
- ta adnotacja ma jeden atrybut łańcucha, którym jest jej nazwa. Jeśli nie podasz nazwy, nazwa metody będzie używana jako nazwa domyślna.
- metoda dostawcy danych przygotowuje i zwraca dwuwymiarową listę obiektów.
- test oparty na danych zostanie uruchomiony raz dla każdego zestawu danych określonego przez obiekt data provider.
jak używać adnotacji @DataProvider
teraz przejrzyjmy kroki wymagane do użycia adnotacji dostawcy danych do testowania opartego na danych.
- Utwórz nową klasę Java, powiedzmy DataProviderTest.Java.
- Zdefiniuj metodę dostawcy danych opisaną za pomocą <@DataProvider>. Powinna zwracać listę 2-d obiektów.
- Dodaj metodę testową i udekoruj ją za pomocą <@Test(dataProvider = „nazwa dostawcy danych”)>.
aby uzyskać więcej informacji na temat adnotacji dostawcy danych, przeczytaj uważnie poniższy przykład kodu. W tym przykładzie kodu demonstrujemy trzy różne zastosowania dostawców danych.
- przekazywanie obiektu Java integer za pomocą dostawcy danych
- przesyłanie strumieniowe obiektu Java bean za pomocą dostawcy danych
przykład za pomocą adnotacji @DataProvider
TestNG plik XML
powyższy kod można uruchomić z Eclipse jako TestNG. Możesz też wygenerować TestNG<.XML>, a następnie uruchom plik XML jako pakiet testowy.
wyjście:
Po wykonaniu powyższego kodu jako testu lub zestawu testów, zobaczysz następujące wyjście. Proszę sprawdzić z poniższego fragmentu.
ostatnie słowo – parametry TestNG i DataProvider
staraliśmy się opisać jak najwięcej parametrów TestNG i adnotacji DataProvider wraz z ich przykładami. Istnieje jednak wiele innych przypadków użycia dostawców danych, które omówimy w osobnym poście. Do tego czasu ciesz się czytaniem tego posta i udostępniaj go w mediach społecznościowych.
Wszystkiego Najlepszego,
TechBeamers