cucumber selenium tutorial
Cucumber Selenium WebDriver Integracja Java z przykładem:
W ostatnim samouczku omówiliśmy narzędzie Ogórek , jego użycie i różne funkcje.
Idąc naprzód w naszym wolnym Szkolenie online dotyczące selenu serii, omówimy jak założyć projekt ogórka i omówię integrację Selenium WebDriver z Cucumber.
Stworzymy projekt Cucumber z Mavenem. Aby skonfigurować Maven w swoim systemie, proszę zapoznaj się z tym samouczkiem w Maven z tej samej serii.
co to jest system operacyjny w komputerze
Czego się nauczysz:
Konfiguracja projektu ogórka
Krok 1: Utwórz nowy projekt Maven:
Kliknij prawym przyciskiem myszy -> Nowy -> Inne -> Maven -> Projekt Maven -> Dalej
Krok 2: Teraz projekt będzie wyglądał następująco:
Krok 3 : Dodaj poniższe zależności w pom.xml
info.cukes cucumber-java 1.0.2 test info.cukes cucumber-junit 1.0.2 test junit junit 4.10 test
Krok 4 : Utwórz plik sample.feature w katalogu src / test / resources.
@Test dymu
Funkcja : Aby przetestować mój test ogórka jest uruchomiony
Chcę uruchomić przykładowy plik funkcji.
Scenariusz : konfiguracja ogórka
Dany przykładowy plik funkcji jest gotowy
Gdy Uruchamiam plik funkcji
Następnie bieg powinien zakończyć się sukcesem
Krok 5 : Utwórz klasę w src / test / java, która zaimplementuje wszystkie kroki.
public class stepDefinition { @Given('^sample feature file is ready$') public void givenStatment(){ System.out.println('Given statement executed successfully'); } @When('^I run the feature file$') public void whenStatement(){ System.out.println('When statement execueted successfully'); } @Then('^run should be successful$') public void thenStatment(){ System.out.println('Then statement executed successfully'); } }
Krok 6 : Utwórz runner JUnit, aby uruchomić test.
@RunWith(Cucumber.class) @Cucumber.Options(format={'pretty','html:reports/test-report'},tags= '@smokeTest') public class CucumberRunner { }
Podaj ścieżkę raportu podaną tutaj. Raporty będą przechowywane w folderze „test-report” w folderze projektu, a „ładny” format określa typ raportu.
Krok 7 : Wyniki Junit i raport z testów:
Poniżej znajduje się raport, gdy test ogórka zakończył się powodzeniem. Zielony pasek w Junit oznacza zaliczenie testu. Podobnie czerwony pasek wskazuje, że test się nie powiódł.
Jeśli chcemy użyć domyślnego raportowania, przejdź ścieżką wspomnianą w Junit Runner. W tym przypadku podaliśmy ścieżkę jako raporty-> raporty-testów-> index.html.
Otwórz ten raport w przeglądarce Internet Explorer lub Firefox, aby zweryfikować wynik. Poniżej przykład raportu:
Cucumber Selenium Integracja WebDriver
Framework Cucumber może być używany do testowania aplikacji internetowych wraz z Selenium WebDriver. Przypadki testowe są napisane w prostych plikach funkcji, które są łatwo zrozumiałe dla menedżerów, nietechnicznych interesariuszy i analityków biznesowych. Te kroki pliku funkcji są zaimplementowane w pliku definicji kroku. Jeśli używasz mavena, musisz dodać zależności dla Cucumber i WebDriver.
Oto przykładowy przypadek testowy, który zaimplementowaliśmy przy użyciu Cucumber i WebDriver. Jak podano poniżej, scenariusz w pliku funkcji nie wymaga wyjaśnień.
Funkcja: Plik funkcji logowania
@selen
Scenariusz : Test scenariusza logowania do Gmaila
Dany przejdź do strony Gmaila
Gdy użytkownik zalogował się przy użyciu nazwy użytkownika jako „użytkownik A” i hasła jako „hasła”
Następnie powinna zostać wyświetlona strona główna
Implementacja WebDriver w kroku Cucumber Definicje:
public class stepDefinition { WebDriver dr; @Given('^navigate to gmail page$') public void navigate(){ dr=new FirefoxDriver(); dr.get('http://www.gmail.com'); } @When ('^user logged in using username as '(.*)' and password as '(.*)'$') public void login(String username,String password){ dr.findElement(By.xpath('//*(@id='Email')')).sendKeys(username); dr.findElement(By.xpath('//*(@id='Passwd')')).sendKeys(password); dr.findElement(By.xpath('//*(@id='signIn')')).click(); dr.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS); } @Then('^home page should be displayed$') public void verifySuccessful(){ String expectedText='Gmail'; String actualText= dr.findElement(By.xpath('//*(@id='gbq1')/div/a/span')).getText(); Assert.assertTrue('Login not successful',expectedText.equals(actualText)); } }
W tym teście użyliśmy przeglądarki Firefox jako przeglądarki do przetestowania funkcji logowania do Gmaila.
Oczywiście obiekt WebDriver jest zmienną klasy i jest używany w całej klasie.
Dany instrukcja inicjuje przeglądarkę i przechodzi do strony.
Gdy Instrukcja loguje się do aplikacji przy użyciu nazwy użytkownika „użytkownik A” i hasła jako „hasła”. Obie wartości „nazwa użytkownika” i „hasło” są przekazywane z pliku funkcji i obie wartości mają być używane w tej samej kolejności.
Następnie Instrukcja sprawdza poprawność warunków dopiero po zalogowaniu się do aplikacji.
To jest przykładowy test opisujący użycie ogórka i selenu. Możesz stworzyć architekturę wielowarstwową w zależności od wymagań projektu.
Wniosek:
W tym samouczku integracji Cucumber Selenium Java omówiliśmy większość koncepcji Cucumber, które obejmują funkcje Cucumber i jego użycie wraz z WebDriver.
Zmniejsza to złożoność kodu, który jest napisany w celu projektowania tradycyjnych struktur, takich jak Keyword Driven i Hybrid Framework. Ogórek jest używany w większości projektów, w których ludzie stosują zwinną metodologię, ponieważ Behavior Driven Development jest praktyką Agile Software.
Następny samouczek nr 32 : Ukończyliśmy już wszystkie samouczki techniczne z tej serii szkoleń Selenium. Następnie opublikujemy kilka ważnych tematów ogólnych, takich jak „Oszacowanie nakładu pracy dla projektów Selenium” i „Pytania do wywiadu Selenium z odpowiedziami”.
Prosimy o publikowanie zapytań dotyczących samouczka Cucumber Selenium.
rekomendowane lektury
- Wprowadzenie do Selenium WebDriver - samouczek Selenium # 8
- Testowanie automatyzacji przy użyciu narzędzia Cucumber i selenu - samouczek dotyczący selenu nr 30
- Integracja Selenium z JMeter
- Integracja Jenkins z Selenium WebDriver: samouczek krok po kroku
- Wdrożenie naszego pierwszego skryptu WebDriver - Selenium WebDriver Tutorial # 10
- Jak radzić sobie z alertami / wyskakującymi okienkami w Selenium WebDriver - Samouczek Selenium nr 16
- WebDriver Cała konfiguracja i instalacja z Eclipse - samouczek Selenium # 9
- Spock do integracji i testowania funkcjonalnego z selenem