V tomto kurzu se naučíte, jak integrovat Cucumber se selenovým webdriverem.
Co je to okurka?
Okurka je testovací přístup, který podporuje vývoj založený na chování (BDD). Vysvětluje chování aplikace v jednoduchém anglickém textu pomocí jazyka Gherkin.
Další informace najdete na - https://www.guru99.com/cucumber-tutorials.html
Co je selen?
Selenium je automatizační nástroj pro funkční testování webové aplikace. Selenium podporuje různé jazyky jako java, ruby, python C # atd.
Další informace najdete na - https://www.guru99.com/selenium-tutorial.html
V tomto tutoriálu Okurky se naučíme -
- Proč používat okurku se selenem?
- Předpoklad pro použití okurky se selenem.
- Automatizační testování pomocí okurky se selenem.
- Scénář 1: Tisk textu v konzole.
- Scénář 2: Zadejte přihlašovací údaje a resetujte hodnotu.
- Scénář 3: Zadejte přihlašovací údaje na Guru99 a resetujte hodnotu. Udělejte to pro 3 sady dat.
Proč používat okurku se selenem?
Okurka a selen jsou dvě populární technologie.
Většina organizací používá selen pro funkční testování. Tyto organizace, které používají selen, chtějí integrovat selen s okurkou, protože okurka usnadňuje čtení a porozumění toku aplikací.
Nástroj Cucumber je založen na vývojovém rámci založeném na chování, který funguje jako most mezi následujícími lidmi:
- Softwarový inženýr a obchodní analytik.
- Ruční tester a automatizační tester.
- Ruční tester a vývojáři.
Rámec BDD Cucumber také přináší klientovi výhody pochopení kódu aplikace, protože používá jazyk Gherkin, který je v prostém textu. Chování softwaru může pochopit kdokoli v organizaci. Gherkinova syntaxe je v jednoduchém textu, který je čitelný a srozumitelný.
Předpoklad pro použití okurky se selenem
Než zahájíme integraci Cucumber Selenium, potřebujeme následující položky:
- Soubory selenových nádob:
- Samostatný selenový server
Lze stáhnout na adrese http://www.seleniumhq.org/download/
Sklenice na okurku:
- Okurkové jádro
- Okurka-html
- pokrytí kódem cobertura
- Okurka-java
- Okurkový junit
- Cucumber-jvm-deps
- Hlášení okurek
- Hemcrest-jádro
- kyselá okurka
- Junit
Lze stáhnout na https://mvnrepository.com/search?q=Cucumber
Musíte hledat soubory a stahovat je jednotlivě.
Ukážeme vám například stažení jednoho ze souborů jar, tj. „Cucumber-core“.
Klikněte na výše uvedený odkaz ke stažení. Přesměrovává na níže uvedený web. Nyní vyhledejte konkrétní nádobu, tj. „Cucumber Core“, jak je znázorněno na následujícím obrázku:
Na další stránce klikněte na verzi 1.2.2,
Na další obrazovce klikněte na stažení a získáte soubor jar 'Cucumber Core'.
Poznámka : Pro vaši snahu jsme zde spojili soubory jar vyžadované ke stažení z Maven. Časem se tyto nádoby mohou aktualizovat a stát se nekompatibilními. Je třeba je stáhnout pomocí výše uvedené metody.
Automatizační testování pomocí okurky se selenem.
Pojďme si prostudovat kroky, jak používat okurku se selenem krok za krokem. Zde pokryjeme 3 scénáře:
- Scénář 1: Tisk textu v konzole.
- Scénář 2: Zadejte přihlašovací údaje a resetujte hodnotu.
- Scénář 3: Zadejte přihlašovací údaje na Guru99 a resetujte hodnotu. Udělejte to pro 3 sady dat.
Scénář 1: Tisk textu v konzole.
V tomto scénáři pouze vytiskneme text v konzole pomocí okurky.
Krok 1) Vytvořte projekt v zatmění.
Vytvořte projekt Java s názvem „CucumberWithSelenium“, jak je znázorněno na následujícím snímku obrazovky.
Krok 2) Přidání souborů Jar do projektu.
Klikněte pravým tlačítkem na Projekt> Vybrat vlastnosti> Přejít na cestu sestavení Java. Přidejte všechny dříve stažené knihovny.
Krok 3) Vytvoření souboru funkcí
Pro vytvoření souboru funkcí nejprve vytvořte složku funkcí, jak je znázorněno níže.
Nyní zadejte název složky „Funkce“ a klikněte na tlačítko „Dokončit“.
Nyní vytvořte soubor funkcí ve složce „Funkce“ s názvem „MyTest.feature“ - proces je podobný vytvoření složky
Poznámka: Aby to fungovalo, možná si budete muset nainstalovat plugin Cucumber Eclipse. Přejít - Pomůže-> Nainstalovat nový software-> zkopírovat, vložit odkaz http://cucumber.github.io/cucumber-eclipse/update-site/ a nainstalovat
Krok 4) Napište scénáře.
Níže uvedené řádky jsou zapsány v souboru „MyTest.feature“ pomocí jazyka Gherkin, jak je uvedeno níže:
Funkce: Obnovte funkčnost na přihlašovací stránce aplikace
Scénář: Ověření tlačítka Reset
Vzhledem k tomu Otevřete Firefox a spusťte aplikaci
Když zadejte uživatelské jméno a heslo
Poté resetujte pověření
Vysvětlení kódu
Řádek 1) V tomto řádku píšeme obchodní funkčnost.
Řádek 2) V tomto řádku napíšeme scénář k testování.
Řádek 3) V tomto řádku definujeme předpoklad.
Řádek 4) V tomto řádku definujeme akci, kterou musíme provést.
Řádek 4) V tomto řádku definujeme očekávaný výsledek nebo výsledek.
Krok 5) Psaní skriptu pro testování selenu pro návrh rámce selenové okurky
Zde vytvoříme balíček „TestRunner“ a poté pod ním soubor třídy „Runner.java“.
balíček TestRunner;import org.junit.runner.RunWith;importovat cucumber.api.CucumberOptions;import cucumber.api.junit.Cucumber;@RunWith (Cucumber.class)@CucumberOptions (features = "Funkce", lepidlo = {"StepDefinition"})veřejná třída Runner{}
Ve výše uvedeném příkladu kódu Cucumber Java spustíme test okurky pomocí následujících anotací:
Anotace @RunWith () říká o třídě testovacího běžce, která má zahájit provádění našich testů.
Anotace @CucmberOptions () se používá k nastavení některých vlastností pro náš test okurky, jako je soubor funkcí, definice kroku atd.
Screenshot souboru TestRunner.
Krok 6) Vytvoření skriptu definice kroku.
Nyní zde vytvoříme balíček „StepDefinition“ a poté pod ním skriptový soubor „Steps.java“. Zde vlastně napíšeme selenový skript k provedení testu metodami Cucumber.
balíček StepDefinition;import cucumber.api.java.en.Given;import cucumber.api.java.en.Pak;import cucumber.api.java.en.When;kroky veřejné třídy {@Given („Otevřete Firefox a spusťte aplikaci $“)public void open_the_Firefox_and_launch_the_application () hodí Throwable{System.out.println („V tomto kroku otevřete Firefox a spusťte aplikaci.“);}@ Kdy („Zadejte uživatelské jméno a heslo $“)public void enter_the_Username_and_Password () hodí Throwable{System.out.println ("V tomto kroku zadejte uživatelské jméno a heslo na přihlašovací stránce.");}@Then ("Obnovit pověření $")public void Reset_the_credential () hodí Throwable{System.out.println ("V tomto kroku klikněte na tlačítko Obnovit.");}}
Ve výše uvedeném kódu je třída vytvořena s názvem „Kroky“. Anotace okurky se používá k mapování pomocí souboru funkcí. Každá metoda anotace je definována:
@Given annotation define method to open firefox and launch the application
@ Když anotace definuje metodu pro zadání uživatelského jména a hesla
@ Poté anotace definuje metodu pro resetování pověření
V rámci každé metody pouze tiskneme zprávu.
Níže je snímek obrazovky skriptu 'Steps.java' a strom projektu, jak to vypadá.
Poznámka: Definice kroku není nic jiného než kroky, které chcete provést v rámci této metody okurky.
Krok 7) Provedení skriptu.
Uživatel může tento skript spustit ze skriptu Test Runner, tj. „Runner.java“, jak je znázorněno na následujícím snímku obrazovky.
Krok 8) Analyzujte výstup.
Po spuštění skriptu 'Runner.java' zobrazí text na konzole. Je to stejný text definovaný ve skriptu 'Steps.java'.
Scénář 2: Zadejte přihlašovací údaje a resetujte hodnotu.
Zde pouze zadáme pověření na demo přihlašovací stránce Guru99 a resetujeme hodnotu
U scénáře 2 musíme aktualizovat pouze skript „Steps.java“. Zde vlastně napíšeme selenový skript, jak je uvedeno níže. Nejprve musíme do tohoto projektu přidat soubor jar selenu.
Krok 1) Zde aktualizujeme skript „Steps.java“, jak je znázorněno v následujícím kódu a snímku obrazovky.
balíček 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.Pak;import cucumber.api.java.en.When;kroky veřejné třídy {Ovladač WebDriver;@Given („Otevřete Firefox a spusťte aplikaci $“)public void open_the_Firefox_and_launch_the_application () hodí 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");}@ Kdy („Zadejte uživatelské jméno a heslo $“)public void enter_the_Username_and_Password () hodí Throwable{driver.findElement (By.name ("uid")). sendKeys ("username12");driver.findElement (By.name ("heslo")). sendKeys ("heslo12");}@Then ("Obnovit pověření $")public void Reset_the_credential () hodí Throwable{driver.findElement (By.name ("btnReset")). click ();}}
Screenshot výše uvedeného selenového skriptu.
Krok 2) Spusťte skript.
Po aktualizaci spustíme Runner.java.
Krok 3) Analyzujte výstup.
Ve výstupu vidíte následující:
- Spustil se prohlížeč.
- Otevře se ukázková stránka banky Guru99.
- Uživatelské jméno a heslo jsou umístěny na přihlašovací stránce.
- Resetujte hodnoty.
Scénář 3: Zadejte přihlašovací údaje na Guru99 a resetujte hodnotu. Udělejte to pro 3 sady dat.
Zde musíme aktualizovat soubor 'Step.java' i soubor funkcí.
Krok 1) Aktualizujte soubor funkcí, jak je znázorněno níže:
Zde aktualizujeme soubor funkcí syntaxí „Scénář scénáře“ a „příklady“.
Funkce: Obnovte funkčnost na přihlašovací stránce aplikace
Scénář scénáře: Ověření resetovacího tlačítka s čísly pověření
Vzhledem k tomu Otevřete Firefox a spusťte aplikaci
Když zadejte uživatelské jméno a heslo
Poté resetujte pověření
Příklady:
| uživatelské jméno | heslo |
| Uživatel1 | heslo1 |
| Uživatel2 | heslo2 |
| Uživatel3 | heslo3 |
// V tomto řádku definujeme množinu dat.
Krok 2) Nyní aktualizujte skript Step.java.
Zde aktualizujeme metody předávání parametrů, aktualizovaný skript zobrazený níže:
balíček 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.Pak;import cucumber.api.java.en.When;kroky veřejné třídy {Ovladač WebDriver;@Given („Otevřete Firefox a spusťte aplikaci $“)public void open_the_Firefox_and_launch_the_application () hodí 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");}@Když ("Zadejte uživatelské jméno \" (. *) \ "A heslo \" (. *) \ "$")public void enter_the_Username_and_Password (String uživatelské jméno, String heslo) hodí Throwable{driver.findElement (By.name ("uid")). sendKeys (uživatelské jméno);driver.findElement (By.name ("heslo")). sendKeys (heslo);}@Then ("Obnovit pověření $")public void Reset_the_credential () hodí Throwable{driver.findElement (By.name ("btnReset")). click ();}}
Krok 3) Nyní spusťte aktualizovaný skript.
Níže uvedená obrazovka zobrazuje úspěšné provedení skriptu a čas potřebný pro každou sadu dat.
Krok 4) Analyzujte výstup.
Ve výstupu vidíte následující:
Níže uvedený výstup se opakuje pro počet datových sad, tj. 3 sady.
- Spustil se prohlížeč.
- Otevře se ukázková stránka banky Guru99.
- Uživatelské jméno a heslo jsou umístěny na přihlašovací stránce.
- Resetujte hodnoty.
Závěr.
Okurka je velmi populární nástroj BDD. Je snadno čitelný a mohou mu rozumět všechny zúčastněné strany, včetně technických i netechnických osob.
Okurku lze integrovat se selenem pomocí následujících 3 kroků
- Vytvořte soubor prvků, ve kterém krok za krokem definujte prvek a scénáře pomocí jazyka Gherkin.
- Vytvořte soubor Testrunner. V tomto souboru jsme integrovali Cucumber s BDD framework v Selenium. Provedeme tento skript.
- Vytvořte definici Step, skutečný selenový skript definovaný v tomto balíčku.