Selenium με αγγούρι (BDD Framework)


Σε αυτό το σεμινάριο, θα μάθετε πώς να ενσωματώσετε το Cucumber με Selenium Webdriver.

Τι είναι το αγγούρι;

Το Cucumber είναι μια δοκιμαστική προσέγγιση που υποστηρίζει την ανάπτυξη με γνώμονα τη συμπεριφορά (BDD). Εξηγεί τη συμπεριφορά της εφαρμογής σε ένα απλό αγγλικό κείμενο χρησιμοποιώντας τη γλώσσα Gherkin.

Μάθετε περισσότερα στο – https://www.guru99.com/cucumber-tutorials.html

Τι είναι Selenium?

Selenium είναι ένα εργαλείο αυτοματισμού για Λειτουργική δοκιμή της διαδικτυακής εφαρμογής. Selenium υποστηρίζει διαφορετικές γλώσσες όπως java, ruby, python C# κ.λπ.

Μάθετε περισσότερα στο – https://www.guru99.com/selenium-tutorial.html

Γιατί να χρησιμοποιήσετε το αγγούρι με Selenium?

Αγγούρι και Selenium είναι δύο δημοφιλείς τεχνολογίες.

Οι περισσότεροι οργανισμοί χρησιμοποιούν Selenium για λειτουργικές δοκιμές. Αυτοί οι οργανισμοί που χρησιμοποιούν Selenium, θέλουν να ενσωματωθούν Selenium με Αγγούρι όπως κάνει το Αγγούρι είναι εύκολο να διαβαστεί και να κατανοηθεί η ροή της εφαρμογής.

Το εργαλείο Cucumber βασίζεται στο πλαίσιο ανάπτυξης που βασίζεται στη συμπεριφορά λειτουργεί ως γέφυρα μεταξύ των ακολουθιώνwing Ανθρωποι:

  1. Μηχανικός Λογισμικού και Επιχειρηματικός Αναλυτής.
  2. Χειροκίνητος ελεγκτής και ελεγκτής αυτοματισμού.
  3. Εγχειρίδιο δοκιμαστή και προγραμματιστές.

Το πλαίσιο BDD αγγουριού επίσης ωφελεί τον πελάτη να κατανοήσει τον κώδικα της εφαρμογής καθώς χρησιμοποιεί τη γλώσσα Gherkin που είναι σε απλό κείμενο. Οποιοσδήποτε στον οργανισμό μπορεί να κατανοήσει τη συμπεριφορά του λογισμικού. Η σύνταξη του αγγουριού είναι σε απλό κείμενο που είναι readable και κατανοητό.

Αγγούρι με Selenium

Προϋπόθεση για τη χρήση Αγγούρι με Selenium

Πριν ξεκινήσουμε το Αγγούρι Selenium ενσωμάτωση, χρειαζόμαστε το ακόλουθοwing αντικείμενα:

  • Selenium αρχεία jar:
  • Selenium-διακομιστής-αυτόνομος

Μπορεί να γίνει λήψη στο http://www.seleniumhq.org/download/

Προϋπόθεση για τη χρήση αγγουριού με Selenium

Αρχεία βάζου για αγγούρι:

  • Πυρήνας αγγουριού
  • Αγγούρι-html
  • κάλυψη κωδικού cobertura
  • Αγγούρι-java
  • Αγγούρι-junit
  • Αγγούρι-jvm-deps
  • Αγγούρι-ρεπορτάζ
  • Hamcrest-core
  • Αγγουράκι
  • Junit

Μπορεί να γίνει λήψη στο https://mvnrepository.com/search?q=Cucumber

Πρέπει να αναζητήσετε αρχεία και να τα κατεβάσετε ένα προς ένα ξεχωριστά.

Για παράδειγμα, θα σας δείξουμε να κάνετε λήψη ενός από τα αρχεία jar, π.χ. "Cucumber-core".

Κάντε κλικ στον παραπάνω σύνδεσμο λήψης. Ανακατευθύνεται στον παρακάτω ιστότοπο. Τώρα αναζητήστε το συγκεκριμένο βάζο, π.χ. "Cucumber Core" όπως φαίνεται παρακάτω:

Προϋπόθεση για τη χρήση αγγουριού με Selenium

Στην επόμενη σελίδα, κάντε κλικ στην έκδοση 1.2.2,

Προϋπόθεση για τη χρήση αγγουριού με Selenium

Στην επόμενη οθόνη, κάντε κλικ στο κουμπί λήψης για να λάβετε το αρχείο βάζου «Cucumber Core».

Προϋπόθεση για τη χρήση αγγουριού με Selenium

Note: Για τη διευκόλυνσή σας, έχουμε συγκεντρώσει τα αρχεία jar που απαιτούνται για λήψη από το Maven εδώ. Με τον καιρό αυτά τα βάζα ενδέχεται να ενημερωθούν και να γίνουν ασύμβατα. Σας ζητείται να τα κατεβάσετε χρησιμοποιώντας τη μέθοδο που απεικονίζεται παραπάνω.

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium.

Ας μελετήσουμε τα βήματα για να χρησιμοποιήσουμε το Αγγούρι selenium βήμα βήμα. Εδώ θα καλύψουμε 3 σενάρια:

  • Σενάριο 1: Εκτύπωση κειμένου στην κονσόλα.
  • Σενάριο 2: Εισαγάγετε τα διαπιστευτήρια σύνδεσης και επαναφέρετε την τιμή.
  • Σενάριο 3: Εισαγάγετε τα διαπιστευτήρια σύνδεσης στο Guru99 και επαναφέρετε την τιμή. Κάντε αυτό για 3 σετ δεδομένων.

Σενάριο 1: Εκτύπωση κειμένου στην κονσόλα.

Σε αυτό το σενάριο, απλώς εκτυπώνουμε το κείμενο στην κονσόλα χρησιμοποιώντας το Cucumber.

Βήμα 1) Δημιουργία έργου σε eclipse.

Δημιουργήστε έργο Java με το όνομα «CucumberWithSelenium" όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Βήμα 2) Προσθήκη αρχείων Jar στο έργο.

Κάντε δεξί κλικ στο Έργο > Επιλογή Ιδιοτήτων > Μετάβαση στη Διαδρομή δημιουργίας Java. Προσθέστε όλες τις βιβλιοθήκες που έχετε κατεβάσει νωρίτερα.

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Βήμα 3) Δημιουργία αρχείου χαρακτηριστικών

Για τη δημιουργία αρχείου χαρακτηριστικών, δημιουργήστε πρώτα το φάκελο χαρακτηριστικών όπως φαίνεται παρακάτω στιγμιότυπο οθόνης.

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Τώρα Πληκτρολογήστε το όνομα φακέλου 'Features' και κάντε κλικ στο κουμπί 'Finish'.

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Τώρα, δημιουργήστε το αρχείο χαρακτηριστικών στο φάκελο "Features" με το όνομα "MyTest.feature" - Η διαδικασία είναι παρόμοια με τη δημιουργία ενός φακέλου

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Σημείωση: Ίσως χρειαστεί να εγκαταστήσετε το Cucumber Eclipse Προσθήκη για να λειτουργήσει αυτό. Μετάβαση — Βοήθεια->Εγκατάσταση νέου λογισμικού->αντιγραφή επικόλλησης του συνδέσμου http://cucumber.github.io/cucumber-eclipse/update-site/ και να εγκαταστήσετε

Βήμα 4) Γράψτε σενάρια.

Οι παρακάτω γραμμές είναι γραμμένες στο αρχείο "MyTest.feature" χρησιμοποιώντας τη γλώσσα Gherkin όπως φαίνεται παρακάτω:

Feature: Reset functionality on login page of Application 


Scenario: Verification of Reset button 


Given Open the Firefox and launch the application			


When Enter the Username and Password			


Then Reset the credential			

Επεξήγηση κώδικα

Γραμμή 1) Σε αυτή τη γραμμή γράφουμε επιχειρηματική λειτουργικότητα.

Γραμμή 2) Σε αυτή τη γραμμή γράφουμε ένα σενάριο για δοκιμή.

Γραμμή 3) Σε αυτή τη γραμμή ορίζουμε την προϋπόθεση.

Γραμμή 4) Σε αυτή τη γραμμή ορίζουμε την ενέργεια που πρέπει να εκτελέσουμε.

Γραμμή 4) Σε αυτή τη γραμμή ορίζουμε το αναμενόμενο αποτέλεσμα ή αποτέλεσμα.

Βήμα 5) Γραφή selenium σενάριο testrunner για Selenium Σχεδιασμός πλαισίου αγγουριού

Εδώ δημιουργούμε το πακέτο «TestRunner» και μετά το αρχείο κλάσης «Runner.java» κάτω από αυτό.

package TestRunner;		

import org.junit.runner.RunWith;		
import cucumber.api.CucumberOptions;		
import cucumber.api.junit.Cucumber;		

@RunWith(Cucumber.class)				
@CucumberOptions(features="Features",glue={"StepDefinition"})						
public class Runner 				
{		

}

Στον παραπάνω κώδικα παραδείγματος Java Cucumber, εκτελούμε το τεστ αγγουριού χρησιμοποιώντας το following σχολιασμοί:

@RunWith() Ο σχολιασμός λέει για την κλάση δοκιμαστικού δρομέα για να ξεκινήσει η εκτέλεση των δοκιμών μας.

@CucmberOptions() Ο σχολιασμός χρησιμοποιείται για τον ορισμό ορισμένων ιδιοτήτων για τη δοκιμή αγγουριού μας, όπως αρχείο χαρακτηριστικών, ορισμός βημάτων κ.λπ.

Στιγμιότυπο οθόνης του αρχείου TestRunner.

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Βήμα 6) Δημιουργία σεναρίου ορισμού βημάτων.

Τώρα εδώ δημιουργούμε το πακέτο «StepDefinition» και μετά το αρχείο σεναρίου «Steps.java» κάτω από αυτό. Εδώ στην πραγματικότητα γράφουμε α selenium σενάριο για τη διεξαγωγή της δοκιμής με τις μεθόδους Cucumber.

package StepDefinition;		

import cucumber.api.java.en.Given;		
import cucumber.api.java.en.Then;		
import cucumber.api.java.en.When;		

public class Steps {				

     
    @Given("^Open the Firefox and launch the application$")				
    public void open_the_Firefox_and_launch_the_application() throws Throwable							
    {		
        System.out.println("This Step open the Firefox and launch the application.");					
    }		

    @When("^Enter the Username and Password$")					
    public void enter_the_Username_and_Password() throws Throwable 							
    {		
       System.out.println("This step enter the Username and Password on the login page.");					
    }		

    @Then("^Reset the credential$")					
    public void Reset_the_credential() throws Throwable 							
    {    		
        System.out.println("This step click on the Reset button.");					
    }		

}

Στον παραπάνω κώδικα, η κλάση δημιουργείται με το όνομα 'Βήματα'. Ο σχολιασμός Cucumber χρησιμοποιείται για τη χαρτογράφηση με το αρχείο χαρακτηριστικών. Κάθε μέθοδος σχολιασμού ορίζεται:

@Δεδομένος σχολιασμός ορίστε τη μέθοδο για άνοιγμα firefox και εκκινήστε την εφαρμογή

@Οταν σχολιασμός ορίστε τη μέθοδο για την εισαγωγή του ονόματος χρήστη και του κωδικού πρόσβασης

@Επειτα σχολιασμός καθορισμός της μεθόδου επαναφοράς των διαπιστευτηρίων

Σε κάθε μέθοδο, εκτυπώνουμε μόνο ένα μήνυμα.

Παρακάτω είναι το στιγμιότυπο οθόνης του σεναρίου και του δέντρου έργου «Steps.java», πώς φαίνεται.

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Σημείωση: Ο ορισμός του βήματος δεν είναι παρά τα βήματα που θέλετε να εκτελέσετε με αυτήν τη μέθοδο αγγουριού.

Βήμα 7) Εκτέλεση του Σεναρίου.

Ο χρήστης μπορεί να εκτελέσει αυτό το σενάριο από το Test runner script, π.χ. "Runner.java" όπως φαίνεται στο παρακάτω στιγμιότυπο οθόνης.

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Βήμα 8) Αναλύστε την έξοδο.

Κατά την εκτέλεση του σεναρίου «Runner.java», εμφανίζει το κείμενο στην κονσόλα. Είναι το ίδιο κείμενο που ορίζεται στο σενάριο «Steps.java».

Δοκιμή αυτοματισμού με χρήση αγγουριού με Selenium

Σενάριο 2: Εισαγάγετε τα διαπιστευτήρια σύνδεσης και επαναφέρετε την τιμή.

Εδώ απλώς θα εισαγάγουμε το Credential στη σελίδα σύνδεσης επίδειξης του Guru99 και θα επαναφέρουμε την τιμή

Για το Σενάριο 2 πρέπει να ενημερώσουμε μόνο το σενάριο «Steps.java». Εδώ γράφουμε στην πραγματικότητα το selenium script όπως φαίνεται παρακάτω βήματα. Πρώτα πρέπει να προσθέσουμε Selenium jar σε αυτό το έργο.

Εισαγάγετε τα διαπιστευτήρια σύνδεσης και επαναφέρετε την τιμή

Βήμα 1) Εδώ ενημερώνουμε το σενάριο "Steps.java" όπως φαίνεται στον παρακάτω κώδικα και στιγμιότυπο οθόνης.

package 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 {				

    WebDriver driver;			
    		
    @Given("^Open the Firefox and launch the application$")					
    public void open_the_Firefox_and_launch_the_application() throws Throwable							
    {		
       System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");					
       driver= new FirefoxDriver();					
       driver.manage().window().maximize();			
       driver.get("http://demo.guru99.com/v4");					
    }		

    @When("^Enter the Username and Password$")					
    public void enter_the_Username_and_Password() throws Throwable 							
    {		
       driver.findElement(By.name("uid")).sendKeys("username12");							
       driver.findElement(By.name("password")).sendKeys("password12");							
    }		

    @Then("^Reset the credential$")					
    public void Reset_the_credential() throws Throwable 							
    {		
       driver.findElement(By.name("btnReset")).click();					
    }		
}		

Στιγμιότυπο οθόνης των παραπάνω selenium γραφή.

Εισαγάγετε τα διαπιστευτήρια σύνδεσης και επαναφέρετε την τιμή

Βήμα 2) Εκτελέστε το σενάριο.

Μετά την ενημέρωση τρέχουμε το Runner.java.

Βήμα 3) Αναλύστε την έξοδο.

Στην έξοδο μπορείτε να δείτε το ακόλουθοwing:

  • Το πρόγραμμα περιήγησης ξεκίνησε.
  • Ανοίγει ο ιστότοπος επίδειξης της τράπεζας Guru99.
  • Το όνομα χρήστη και ο κωδικός πρόσβασης τοποθετούνται στη σελίδα σύνδεσης.
  • Επαναφέρετε τις τιμές.

Εισαγάγετε τα διαπιστευτήρια σύνδεσης και επαναφέρετε την τιμή

Σενάριο 3: Εισαγάγετε τα διαπιστευτήρια σύνδεσης στο Guru99 και επαναφέρετε την τιμή. Κάντε αυτό για 3 σετ δεδομένων.

Εδώ πρέπει να ενημερώσουμε τόσο το "Step.java" και το αρχείο χαρακτηριστικών.

Βήμα 1) Ενημερώστε το αρχείο χαρακτηριστικών όπως φαίνεται παρακάτω:

Here we update the feature file with 'Scenario Outline' and  'examples' syntax.

Feature: Reset functionality on login page of Application				


Scenario Outline: Verification of reset button with numbers of credential


Given Open the Firefox and launch the application				


When Enter the Username <username>and Password <password>				


Then Reset the credential						

Examples:                      		

|username  |password         |		

|User1     |password1        |		

|User2     |password2        |		

|User3     |password3        |

// In this line we define the set of data.

Εισαγάγετε τα διαπιστευτήρια σύνδεσης

Βήμα 2) Τώρα ενημερώστε το σενάριο Step.java.

Εδώ ενημερώνουμε τις μεθόδους για τη μετάδοση των παραμέτρων, ενημερωμένο σενάριο που φαίνεται παρακάτω:

package 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 {				

    WebDriver driver;			
    		
    @Given("^Open the Firefox and launch the application$")					
    public void open_the_Firefox_and_launch_the_application() throws Throwable							
    {		
       System.setProperty("webdriver.gecko.driver", "E://Selenium//Selenium_Jars//geckodriver.exe");					
       driver= new FirefoxDriver();					
       driver.manage().window().maximize();			
       driver.get("www.demo.guru99.com/v4");					
    }		

    @When("^Enter the Username \"(.*)\" and Password \"(.*)\"$")			
    public void enter_the_Username_and_Password(String username,String password) throws Throwable 							
    {		
       driver.findElement(By.name("uid")).sendKeys(username);					
       driver.findElement(By.name("password")).sendKeys(password);					
    }		

    @Then("^Reset the credential$")					
    public void	Reset_the_credential() throws Throwable 							
    {		
       driver.findElement(By.name("btnReset")).click();					
    }		
}		

Εισαγάγετε τα διαπιστευτήρια σύνδεσης

Βήμα 3) Τώρα εκτελέστε το ενημερωμένο σενάριο.

Η παρακάτω οθόνη δείχνει την επιτυχή εκτέλεση του σεναρίου και τον χρόνο που απαιτείται από κάθε σύνολο δεδομένων.

Εισαγάγετε τα διαπιστευτήρια σύνδεσης

Βήμα 4) Αναλύστε την έξοδο.

Στην έξοδο μπορείτε να δείτε το ακόλουθοwing:

Η παρακάτω έξοδος επαναλαμβάνεται για τον αριθμό των συνόλων δεδομένων, π.χ. 3 σετ.

  • Το πρόγραμμα περιήγησης ξεκίνησε.
  • Ανοίγει ο ιστότοπος επίδειξης της τράπεζας Guru99.
  • Το όνομα χρήστη και ο κωδικός πρόσβασης τοποθετούνται στη σελίδα σύνδεσης.
  • Επαναφέρετε τις τιμές.

Εισαγάγετε τα διαπιστευτήρια σύνδεσης

Συμπέρασμα

Το αγγούρι είναι ένα πολύ δημοφιλές εργαλείο BDD. Είναι εύκολο να διαβαστεί και μπορεί να γίνει κατανοητό από όλα τα ενδιαφερόμενα μέρη, συμπεριλαμβανομένων τεχνικών και μη.

Το αγγούρι μπορεί να ενσωματωθεί με Selenium χρησιμοποιώντας το following 3 βήματα

  1. Δημιουργήστε αρχείο χαρακτηριστικών στο οποίο ορίζετε τη δυνατότητα και τα σενάρια βήμα προς βήμα χρησιμοποιώντας τη γλώσσα Gherkin.
  2. Δημιουργία αρχείου Testunner. Σε αυτό το αρχείο, ενσωματώσαμε το Cucumber με το πλαίσιο BDD Selenium. Εκτελούμε αυτό το σενάριο.
  3. Ορισμός Creat Step, ο πραγματικός selenium σενάριο που ορίζεται σε αυτό το πακέτο.