Selen with Cucumber (BDD Framework): samouczek z przykładem

Spisie treści:

Anonim

W tym samouczku dowiesz się, jak zintegrować Cucumber z Selenium Webdriver.

Co to jest ogórek?

Cucumber to podejście do testowania, które wspiera rozwój oparty na zachowaniu (BDD). Wyjaśnia zachowanie aplikacji w prostym angielskim tekście przy użyciu języka Gherkin.

Dowiedz się więcej na - https://www.guru99.com/cucumber-tutorials.html

Co to jest selen?

Selenium to narzędzie do automatyzacji testowania funkcjonalnego aplikacji internetowej. Selenium obsługuje różne języki, takie jak java, ruby, python C # itp.

Dowiedz się więcej na - https://www.guru99.com/selenium-tutorial.html

W tym samouczku dotyczącym ogórków nauczymy się:

  • Dlaczego warto używać ogórka z selenem?
  • Warunek korzystania z ogórka z selenem.
  • Testowanie automatyzacji przy użyciu ogórka z selenem.
  • Scenariusz 1: Wydrukuj tekst w konsoli.
  • Scenariusz 2: Wprowadź poświadczenia logowania i zresetuj wartość.
  • Scenariusz 3: Wprowadź dane logowania na Guru99 i zresetuj wartość. Zrób to dla 3 zestawów danych.

Dlaczego warto używać ogórka z selenem?

Ogórek i selen to dwie popularne technologie.

Większość organizacji używa Selenium do testów funkcjonalnych. Te organizacje, które używają Selenium, chcą zintegrować Selen z Cucumber, ponieważ Cucumber ułatwia czytanie i zrozumienie przepływu aplikacji.

Narzędzie Cucumber jest oparte na platformie Behavior Driven Development, która działa jako pomost między następującymi osobami:

  1. Inżynier oprogramowania i analityk biznesowy.
  2. Tester ręczny i tester automatyzacji.
  3. Ręczny tester i programiści.

Platforma Cucumber BDD umożliwia również klientowi zrozumienie kodu aplikacji, ponieważ wykorzystuje język Gherkin, który jest zapisany w postaci zwykłego tekstu. Każdy w organizacji może zrozumieć zachowanie oprogramowania. Składnia Gherkin jest napisana prostym tekstem, który jest czytelny i zrozumiały.

Warunek korzystania z ogórka z selenem

Zanim zaczniemy integrację Cucumber Selenium, potrzebujemy następujących elementów:

  • Pliki jar selenu:
  • Samodzielny serwer Selenium

Można pobrać ze strony http://www.seleniumhq.org/download/

Pliki słoików dla ogórka:

  • Ogórek Ogórek
  • Ogórek-html
  • Pokrycie kodu Cobertura
  • Cucumber-java
  • Ogórek-junit
  • Cucumber-jvm-deps
  • Raportowanie ogórków
  • Hemcrest-core
  • Korniszon
  • Junit

Można pobrać pod adresem https://mvnrepository.com/search?q=Cucumber

Musisz wyszukiwać pliki i pobierać je pojedynczo.

Na przykład pokażemy Ci, jak pobrać jeden z plików jar, np. „Cucumber-core”.

Kliknij powyższy link do pobrania. Przekierowuje do poniższej witryny. Teraz przeszukaj konkretny słoik, tj.``Cucumber Core '', jak pokazano poniżej:

Na następnej stronie kliknij wersję 1.2.2,

Na następnym ekranie kliknij Pobierz, aby pobrać plik jar „Cucumber Core”.

Uwaga : dla ułatwienia zebraliśmy tutaj pliki jar wymagane do pobrania z Maven. Z czasem te słoiki mogą być aktualizowane i niekompatybilne. Prosimy o pobranie ich przy użyciu metody przedstawionej powyżej.

Testowanie automatyzacji przy użyciu ogórka z selenem.

Przeanalizujmy kroki, aby krok po kroku używać ogórka z selenem. Tutaj omówimy 3 scenariusze:

  • Scenariusz 1: Wydrukuj tekst w konsoli.
  • Scenariusz 2: Wprowadź poświadczenia logowania i zresetuj wartość.
  • Scenariusz 3: Wprowadź dane logowania na Guru99 i zresetuj wartość. Zrób to dla 3 zestawów danych.

Scenariusz 1: Wydrukuj tekst w konsoli.

W tym scenariuszu po prostu drukujemy tekst w konsoli za pomocą Cucumber.

Krok 1) Utwórz projekt w Eclipse.

Utwórz projekt Java o nazwie „CucumberWithSelenium”, jak pokazano na poniższym zrzucie ekranu.

Krok 2) Dodanie plików JAR do projektu.

Kliknij prawym przyciskiem myszy projekt> wybierz właściwości> przejdź do ścieżki budowania Java. Dodaj wszystkie pobrane wcześniej biblioteki.

Krok 3) Tworzenie pliku funkcji

Aby utworzyć plik funkcji, najpierw utwórz folder funkcji, jak pokazano na poniższym zrzucie ekranu.

Teraz wprowadź nazwę folderu „Funkcje” i kliknij przycisk „Zakończ”.

Teraz utwórz plik funkcji w folderze „Funkcje” o nazwie „MyTest.feature” - proces jest podobny do tworzenia folderu

Uwaga: aby to zadziałało, może być konieczne zainstalowanie wtyczki Cucumber Eclipse. Idź - Pomaga-> Zainstaluj nowe oprogramowanie-> skopiuj, wklej link http://cucumber.github.io/cucumber-eclipse/update-site/ i zainstaluj

Krok 4) Napisz scenariusze.

Poniższe wiersze są zapisane w pliku „MyTest.feature” przy użyciu języka Gherkin, jak pokazano poniżej:

Funkcja: funkcja resetowania na stronie logowania aplikacji

Scenariusz: weryfikacja przycisku Reset

Biorąc pod uwagę Otwórz przeglądarkę Firefox i uruchom aplikację

Kiedy wprowadź nazwę użytkownika i hasło

Następnie zresetuj poświadczenie

Objaśnienie kodu

Wiersz 1) W tej linii piszemy funkcjonalność biznesową.

Linia 2) W tej linii piszemy scenariusz do przetestowania.

Wiersz 3) W tej linii definiujemy warunek wstępny.

Wiersz 4) W tej linii definiujemy akcję, którą musimy wykonać.

Wiersz 4) W tej linii definiujemy oczekiwany wynik lub wynik.

Krok 5) Napisanie skryptu testrunner selenu do projektowania frameworka Selenium Cucumber

Tutaj tworzymy pakiet „TestRunner”, a następnie plik klasy „Runner.java” pod nim.

pakiet TestRunner;import org.junit.runner.RunWith;import cucumber.api.CucumberOptions;import cucumber.api.junit.Cucumber;@RunWith (Cucumber.class)@CucumberOptions (features = "Features", glue = {"StepDefinition"})Klasa publiczna Runner{}

W powyższym przykładowym kodzie Cucumber Java uruchamiamy test Cucumber przy użyciu następujących adnotacji:

Adnotacja @RunWith () mówi o klasie uruchamiającej testy, aby rozpocząć wykonywanie naszych testów.

Adnotacja @CucmberOptions () służy do ustawiania niektórych właściwości naszego testu ogórka, takich jak plik funkcji, definicja kroku itp.

Zrzut ekranu pliku TestRunner.

Krok 6) Tworzenie skryptu definicji kroku.

Teraz tworzymy pakiet „StepDefinition”, a następnie plik skryptu „Steps.java” pod nim. Tutaj faktycznie piszemy skrypt selenu do przeprowadzenia testu metodami Cucumber.

pakiet StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;Public Class Steps {@Given ("Otwórz przeglądarkę Firefox i uruchom aplikację $")public void open_the_Firefox_and_launch_the_application () rzuca Throwable{System.out.println („W tym kroku otwórz przeglądarkę Firefox i uruchom aplikację.”);}@When ("Wprowadź nazwę użytkownika i hasło $")public void enter_the_Username_and_Password () rzuca Throwable{System.out.println ("W tym kroku wprowadź nazwę użytkownika i hasło na stronie logowania.");}@Then ("Zresetuj poświadczenie $")public void Reset_the_credential () rzuca Throwable{System.out.println ("W tym kroku kliknij przycisk Resetuj.");}}

W powyższym kodzie klasa jest tworzona pod nazwą „Steps”. Adnotacja ogórkowa służy do mapowania z plikiem elementu. Każda metoda adnotacji jest zdefiniowana:

@ Podana adnotacja zdefiniuj metodę otwierania przeglądarki Firefox i uruchamiania aplikacji

@Gdy adnotacja definiuje metodę wprowadzania nazwy użytkownika i hasła

@ Następnie adnotacja definiuje metodę resetowania poświadczeń

W ramach każdej metody drukujemy tylko wiadomość.

Poniżej znajduje się zrzut ekranu skryptu „Steps.java” i drzewo projektów, jak to wygląda.

Uwaga: definicja kroku to nic innego jak kroki, które chcesz wykonać w ramach tej metody ogórkowej.

Krok 7) Wykonanie skryptu.

Użytkownik może wykonać ten skrypt ze skryptu Test runner, tj. „Runner.java”, jak pokazano na poniższym zrzucie ekranu.

Krok 8) Przeanalizuj dane wyjściowe.

Po wykonaniu skryptu „Runner.java” wyświetla tekst na konsoli. Jest to ten sam tekst, który został zdefiniowany w skrypcie „Steps.java”.

Scenariusz 2: Wprowadź poświadczenia logowania i zresetuj wartość.

Tutaj po prostu wpiszemy Credential na stronie logowania Guru99 demo i zresetujemy wartość

W przypadku scenariusza 2 musimy zaktualizować tylko skrypt „Steps.java”. Tutaj faktycznie piszemy skrypt selenu, jak pokazano poniżej. Najpierw musimy dodać plik jar selenu do tego projektu.

Krok 1) Tutaj aktualizujemy skrypt „Steps.java”, jak pokazano na poniższym kodzie i zrzucie ekranu.

pakiet StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;Public Class Steps {Sterownik WebDriver;@Given ("Otwórz przeglądarkę Firefox i uruchom aplikację $")public void open_the_Firefox_and_launch_the_application () rzuca Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = nowy FirefoxDriver ();driver.manage (). window (). maximize ();driver.get („http://demo.guru99.com/v4”);}@When ("Wprowadź nazwę użytkownika i hasło $")public void enter_the_Username_and_Password () rzuca Throwable{driver.findElement (By.name ("uid")). sendKeys ("username12");driver.findElement (By.name ("hasło")). sendKeys ("hasło12");}@Then ("Zresetuj poświadczenie $")public void Reset_the_credential () rzuca Throwable{driver.findElement (By.name ("btnReset")). click ();}}

Zrzut ekranu powyższego skryptu selenu.

Krok 2) Uruchom skrypt.

Po aktualizacji uruchamiamy Runner.java.

Krok 3) Przeanalizuj dane wyjściowe.

Na wyjściu widać:

  • Uruchomiona przeglądarka.
  • Zostaje otwarta strona demonstracyjna banku Guru99.
  • Nazwa użytkownika i hasło są umieszczone na stronie logowania.
  • Zresetuj wartości.

Scenariusz 3: Wprowadź dane logowania na Guru99 i zresetuj wartość. Zrób to dla 3 zestawów danych.

Tutaj musimy zaktualizować zarówno plik „Step.java”, jak i plik funkcji.

Krok 1) Zaktualizuj plik funkcji, jak pokazano poniżej:

Tutaj aktualizujemy plik funkcji za pomocą składni „Zarys scenariusza” i „przykłady”.

Funkcja: funkcja resetowania na stronie logowania aplikacji

Zarys scenariusza: Weryfikacja przycisku resetowania z numerami poświadczeń

Biorąc pod uwagę Otwórz przeglądarkę Firefox i uruchom aplikację

Gdy wprowadź nazwę użytkownika i hasło

Następnie zresetuj poświadczenie

Przykłady:

| nazwa użytkownika | hasło |

| Użytkownik1 | hasło1 |

| Użytkownik2 | hasło2 |

| Użytkownik3 | hasło3 |

// W tej linii definiujemy zbiór danych.

Krok 2) Teraz zaktualizuj skrypt Step.java.

Tutaj aktualizujemy metody tak, aby przekazywały parametry, zaktualizowany skrypt pokazany poniżej:

pakiet StepDefinition;import org.openqa.selenium.By;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import cucumber.api.java.en.Given;import cucumber.api.java.en.Then;import cucumber.api.java.en.When;Public Class Steps {Sterownik WebDriver;@Given ("Otwórz przeglądarkę Firefox i uruchom aplikację $")public void open_the_Firefox_and_launch_the_application () rzuca Throwable{System.setProperty ("webdriver.gecko.driver", "E: //Selenium//Selenium_Jars//geckodriver.exe");driver = nowy FirefoxDriver ();driver.manage (). window (). maximize ();driver.get („www.demo.guru99.com/v4”);}@When ("Wprowadź nazwę użytkownika \" (. *) \ "I hasło \" (. *) \ "$")public void enter_the_Username_and_Password (nazwa użytkownika w postaci ciągu, hasło w postaci ciągu znaków) rzuca Throwable{driver.findElement (By.name ("uid")). sendKeys (nazwa użytkownika);driver.findElement (By.name ("hasło")). sendKeys (hasło);}@Then ("Zresetuj poświadczenie $")public void Reset_the_credential () rzuca Throwable{driver.findElement (By.name ("btnReset")). click ();}}

Krok 3) Teraz wykonaj zaktualizowany skrypt.

Poniższy ekran przedstawia pomyślne wykonanie skryptu i czas potrzebny na każdy zestaw danych.

Krok 4) Przeanalizuj dane wyjściowe.

Na wyjściu widać:

Poniższe dane wyjściowe są powtarzane dla liczby zestawów danych, tj. 3 zestawów.

  • Uruchomiona przeglądarka.
  • Zostaje otwarta strona demonstracyjna banku Guru99.
  • Nazwa użytkownika i hasło są umieszczone na stronie logowania.
  • Zresetuj wartości.

Wniosek.

Ogórek to bardzo popularne narzędzie BDD. Jest łatwy do odczytania i zrozumiały dla wszystkich zainteresowanych stron, w tym dla osób technicznych i nietechnicznych.

Ogórek można zintegrować z selenem, wykonując następujące 3 kroki

  1. Utwórz plik funkcji, w którym krok po kroku zdefiniuj funkcję i scenariusze przy użyciu języka Gherkin.
  2. Utwórz plik Testrunner. W tym pliku zintegrowaliśmy Cucumber z frameworkiem BDD w Selenium. Wykonujemy ten skrypt.
  3. Definicja Creat Step, rzeczywisty skrypt selenu zdefiniowany w tym pakiecie.