Ogórek - Opcje wiersza poleceń

Ogórek można wykorzystać do przetestowania prawie każdego systemu komputerowego. Do tej pory widzieliśmy, jak przeprowadzić test za pomocą Eclipse IDE. Jest jeszcze jeden sposób, w jaki możemy uruchomić test ogórka, czyli poprzez interfejs wiersza poleceń. Więc jaka jest korzyść z robienia tego?

Uruchamianie dowolnej struktury testowej z poziomu terminala ma swoje zalety, takie jak nadpisywanie konfiguracji uruchamiania wymienionych w kodzie.

Aby wykonać test ogórka za pomocą wiersza poleceń, wykonaj następujące czynności po skonfigurowaniu systemu.

Step 1- Utwórz projekt testowy Maven o nazwie commandLine.

  • Idź do Plik → Nowy → Inne → Maven → Projekt Maven → Dalej.

  • Podaj identyfikator grupy (identyfikator grupy będzie jednoznacznie identyfikował Twój projekt we wszystkich projektach).

  • Podaj identyfikator artefaktu (identyfikator artefaktu to nazwa słoika bez wersji. Możesz wybrać dowolną nazwę zapisaną małymi literami).

  • Kliknij Zakończ.

  • Otwórz pom.xml -

    • Przejdź do eksploratora pakietów po lewej stronie Eclipse.

    • Rozwiń projekt CucumberTest.

    • Znajdź pom.xml plik.

    • Kliknij prawym przyciskiem myszy i wybierz opcję Otwórz za pomocą „Edytora tekstu”.

  • Dodaj zależność dla Selenium - to wskaże Maven, które pliki jar Selenium mają zostać pobrane z centralnego repozytorium do lokalnego repozytorium.

    • Otwórz pom.xml jest w trybie edycji, utwórz tag zależności (<dependencies> </dependencies>) wewnątrz tagu projektu.

    • Wewnątrz tagu zależności utwórz tag zależności. (<dependency> </dependency>).

    • Podaj następujące informacje w tagu zależności.

<dependency> 
   <groupId>org.seleniumhq.selenium</groupId> 
   <artifactId>selenium-java</artifactId> 
   <version>2.47.1</version> 
</dependency>
  • Dodaj zależność dla Cucumber-Java - To wskaże Maven, które pliki Cucumber mają zostać pobrane z centralnego repozytorium do lokalnego repozytorium.

    • Utwórz jeszcze jeden tag zależności.

    • Podaj następujące informacje w tagu zależności.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-java</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Dodaj zależność dla Cucumber-JUnit - to wskaże Maven, które pliki Cucumber JUnit mają zostać pobrane z centralnego repozytorium do lokalnego repozytorium.

    • Utwórz jeszcze jeden tag zależności.

    • Podaj następujące informacje w tagu zależności.

<dependency> 
   <groupId>info.cukes</groupId> 
   <artifactId>cucumber-junit</artifactId> 
   <version>1.0.2</version> 
   <scope>test</scope> 
</dependency>
  • Dodaj zależność dla JUnit - wskaże Maven, które pliki JUnit mają zostać pobrane z repozytorium centralnego do repozytorium lokalnego.

    • Utwórz jeszcze jeden tag zależności.

    • Podaj następujące informacje w tagu zależności.

<dependency> 
   <groupId>junit</groupId> 
   <artifactId>junit</artifactId> 
   <version>4.10</version> 
   <scope>test</scope> 
</dependency>
  • Sprawdź pliki binarne.

    • Po pomyślnej edycji pom.xml zapisz go.

    • Idź do Project → Clean - zajmie to kilka minut.

Step 2 - Utwórz pakiet o nazwie „zarys” w katalogu src / test / java

Step 3 - Utwórz plik funkcji o nazwie „commandLine.feature”.

  • Wybierz i kliknij prawym przyciskiem myszy kontur paczki.

  • Kliknij plik „Nowy”.

  • Nadaj plikowi nazwę, na przykład „commandLine.feature”

  • Wpisz poniższy tekst w pliku i zapisz go.

    Feature - Zarys scenariusza

    Scenario Outline - Funkcja logowania do serwisu społecznościowego.

    Biorąc pod uwagę, że użytkownik przechodzi do Facebooka

    Kiedy wpiszę nazwę użytkownika jako „<nazwa użytkownika>” i hasło jako „<hasło>”

    Wtedy logowanie powinno zakończyć się niepowodzeniem

Przykłady

| username  | password  | 
| username1 | password1 | 
| username2 | password2 |

Note- Tutaj przykładowa adnotacja opisuje zakres danych wejściowych, które mają być dostarczone podczas wykonywania scenariusza. Scenariusz testowy zostanie wykonany dla każdego z podanych danych wejściowych. Tak więc w podanym przykładzie scenariusz testowy zostanie wykonany trzykrotnie.

Step 4 - Utwórz plik definicji kroku.

  • Wybierz i kliknij prawym przyciskiem myszy kontur paczki.

  • Kliknij plik „Nowy”.

  • Nazwij plik jako commandLine.java

  • Wpisz następujący tekst w pliku i zapisz go.

package Outline;
 
import org.openqa.selenium.By; 
import org.openqa.selenium.WebDriver; 
import org.openqa.selenium.firefox.FirefoxDriver; 

import cucumber.annotation.en.Given; 
import cucumber.annotation.en.Then; i
import cucumber.annotation.en.When; 

public class stepdefinition { 
   WebDriver driver = null; 
	
   @Given("^user navigates to facebook$") 
   public void goToFacebook() { 
      driver = new FirefoxDriver(); 
      driver.navigate().to("https://www.facebook.com/"); 
   } 
	
   @When("^I enter Username as \"([^\"]*)\" and Password as \"([^\"]*)\"$") 
   public void I_enter_Username_as_and_Password_as(String arg1, String arg2) {
      driver.findElement(By.id("email")).sendKeys(arg1);
      driver.findElement(By.id("pass")).sendKeys(arg2);
      driver.findElement(By.id("u_0_v")).click(); 
   } 
	
   @Then("^login should be unsuccessful$") 
   public void validateRelogin() { 
      if(driver.getCurrentUrl().equalsIgnoreCase(
         "https://www.facebook.com/login.php?login_attempt=1&lwv=110")){ 
            System.out.println("Test Pass"); 
      } else { 
         System.out.println("Test Failed"); 
      } 
      driver.close(); 
   } 
}

Note- W kodzie musimy zdefiniować funkcję mającą dwa argumenty wejściowe: jedna nazwa użytkownika, a druga będzie dla hasła. Tak więc dla każdego zestawu danych wejściowych podanych w przykładowym tagu zostanie wykonany zestaw GIVEN, WHEN i THEN.

Step 5 - Utwórz plik klasy biegacza.

  • Wybierz i kliknij prawym przyciskiem myszy kontur paczki.

  • Kliknij plik „Nowy”.

  • Nadaj plikowi nazwę, na przykład, runTest.java

  • Wpisz następujący tekst w pliku i zapisz go.

package Outline;
 
import org.junit.runner.RunWith; 
import cucumber.junit.Cucumber; 

@RunWith(Cucumber.class) 
@Cucumber.Options(format = {"pretty", "html:target/cucumber"}) 

public class runTest { }
  • Otwórz wiersz polecenia.

  • Przejdź do katalogu, w którym znajduje się ten pakiet „commandLine”. e: \ Obszar roboczy \ LoginTest \ src> cd test \ java

  • Uruchom polecenie mvn test: Zobaczysz, że cały scenariusz opisany w pliku funkcji został wykonany (jeśli nie ma żadnego błędu). Wreszcie na dole znajdziesz następujące informacje.

Wynik

This describes the total test run, along with failure if any.

Poprzednie polecenie uruchamia wszystko, jak wspomniano w klasie JUnit Runner. Jeśli jednak chcemy zmienić konfiguracje wymienione w Runnerze, poniżej podajemy kilka przykładów, jak to zrobić.

  • Teraz uruchom polecenie mvn test - Dcucumber.options = "- help" w wierszu polecenia. Uruchomienie tego spowoduje wydrukowanie wszystkich dostępnych opcji.

  • Aby uruchomić tylko określone tagi, uruchom polecenie mvn test -Dcucumber.options = "- tags @SmokeTest" w wierszu polecenia. Będzie uruchamiał tylko tagi, które są oznaczone @SmokeTest.

  • Aby zmienić format wyniku, uruchom w wierszu polecenia polecenie E: \ Workspace \ LoginTest> mvn test -Dcucumber.options = "- plugin junit: target / cucumber-junit-report.xml" Zmienia raport format do generatora raportów JUnit.