how run selenium webdriver different popular browsers
Selenium podporuje pouze webové aplikace a k jejich otevření potřebujeme prohlížeč. Selenium může podporovat různé prohlížeče pro automatizaci testů.
V tomto kurzu vysvětlíme, jak nastavit ovladače pro různé prohlížeče dostupné na trhu.
V současném odvětví existují pouze tři populární prohlížeče, které jsou široce používány, tj. Google Chrome, Mozilla Firefox a Internet Explorer. Selen však podporuje i jiné prohlížeče. K provedení našeho skriptu v různých prohlížečích potřebujeme ovladač daného prohlížeče.
=> Přečtěte si všechny výukové programy selenu zde
Co se naučíte:
Jak nastavit ovladače pro různé prohlížeče
Doporučený nástroj:
# 1) LambdaTest
Proveďte testování automatizace selenu na škálovatelné, zabezpečené a spolehlivé cloudové selenové síti online. Zrychlete svou automatizaci testování selenu a současně zvyšte pokrytí testů testováním na online infrastruktuře 2000+ prostředí stolních a mobilních prohlížečů.
Když poprvé začínáme se selenovou automatizací, náš první řádek kódu přichází jako:
Ovladač WebDriver = nový FireFoxDriver ();
To znamená, že WebDriver je rozhraní a my definujeme referenční proměnnou (ovladač), jejíž typ je rozhraní.
Nyní jakýkoli objekt, který mu přiřadíme, musí být instancí třídy (FireFoxDriver) nebo jakýchkoli jiných ovladačů, které implementují dané rozhraní. V našem případě je FireFoxDriver třída a rozhraní je WebDriver.
Po dokončení nastavení všech ovladačů provedeme jakýkoli příkaz selenu, například:
driver.getTitle ();
Doporučit snímek obrazovky:
jaký je rozdíl mezi zabezpečením kvality a kontrolou kvality?
Co se teď stane, je to, že interně je vytvořen požadavek HTTP a odeslán do konkrétního ovladače prohlížeče, který jsme definovali, ovladač prohlížeče používá tento server HTTP pro získání požadavků HTTP a určuje kroky potřebné pro implementaci příkazu Selenium.
Naše vytvořená logika se provede v prohlížeči, poté se výsledek provedení odešle zpět na server HTTP a ten znovu odešle zpět stav automatizačnímu skriptu.
Po nastavení ovladače tedy můžeme přistupovat ke všem vestavěným metodám třídy řidiče, jako jsou:
- findElement ();
- zavřít();
- getClass (); a mnoho dalších
Doporučit snímek obrazovky:
Pro přístup k těmto metodám zadejte „ Řidič. “V editoru a zobrazí všechny metody, jinak můžete stisknout„ ctrl + mezera “a zobrazí se vám metody.
Doporučit snímek obrazovky:
Někdy nejsou dostupné vestavěné metody, když stisknete klávesu „ctrl + mezera“. Pak musíte zkontrolovat nastavení cesty JAVA_HOME provedená v proměnné prostředí a ujistit se, že jsou správná.
Kroky k nastavení proměnné prostředí:
- Přejděte na Ovládací panely -> klikněte na Systém
- Přejděte na Pokročilé nastavení systému
- Klikněte na tlačítko Proměnné prostředí
- Po kliknutí na nové tlačítko nastavte cestu JAVA_HOME.
Selen je dodáván s výchozím ovladačem Mozilla Firefox, který je součástí souboru jar selenu WebDriver. Proto pro volání ovladače Firefoxu není nutné žádné nastavení. Pokud chceme používat jiné prohlížeče, musíme nastavit jeho systémovou vlastnost.
Doporučené čtení => Cross Browser Testing using Selenium Grid
Cross-browser Testing using Selenium WebDriver
Nyní uvidíme nastavení a spuštění ovladačů v níže uvedených prohlížečích:
# 1) Mozilla Firefox
#dva) Google Chrome
# 3) internet Explorer
# 4) Opera
# 5) Ghost Driver nebo PhantomJS
# 6) Jednotka HTML
Ovladače pro uvedené prohlížeče (kromě PhantomJS a HTML Unit - zkontrolujte je níže) si můžete stáhnout zde: SelenHQ
Za předpokladu, že jste si všichni vědomi výše zmíněných různých prohlížečů, nyní vysvětlím, co to je Řidič duchů a Ovladač jednotky HTML a jak je nastavit pro váš skript.
# 1) Ovladač jednotky HTML
Pomocí tohoto ovladače můžeme provádět Headless Browser Testing, což znamená, že pro něj neexistuje žádné grafické uživatelské rozhraní, které můžete vidět při jeho interním spuštění. A nemůžete provádět všechny operace jako v běžných prohlížečích.
Obecně se pro testování nedoporučuje ovladač jednotky HTML. Můžeme jej však použít, protože je rychlejší, nejlehčí implementace WebDriver se používá ke generování testovacích dat, k předání obsahu jedné webové stránky jinému programu nebo skriptu.
Pro použití ovladače jednotky HTML není nutné instalovat žádné další API nebo jar soubory. Můžete jej použít, jakmile máte samostatný soubor jar selen serveru.
Viz níže uvedený kód:
//Create a Java Project, under it create a package, and under package create a class packageheadless_browser_testing; import org.openqa.Selenium.WebDriver; importorg.openqa.Selenium.htmlunit.HtmlUnitDriver; import org.testng.Assert; import org.testng.annotations.Test; publicclassvefifyTestTitle { //You can run your script with TestNG or JUnit or using Java Application // I am using TestNG and using TestNG annotations @Test publicvoidverifyFacebookTitle() { //Call HtmlUnit Driver WebDriver driver = newHtmlUnitDriver(true); //It will get the Facebook URL and run the script in background, means you //will not see the Facebook page driver.get('http://www.facebook.com'); //It will fetch the FB title and store in String String facebook_Title= driver.getTitle(); //Assert condition will check the expected and actual title, if it matches //our test passes Assert.assertTrue(facebook_Title.contains('Facebook')); System.out.println(facebook_Title); } }
Výstup : Facebook - Přihlaste se nebo se zaregistrujte
PROŠLO : VerifikovatFacebookTitle
Ovladač jednotky HTML se nedoporučuje pro složité aplikace a používá jquery nebo javascript nebo HTML 5. Ve výchozím nastavení nepodporuje javascript. Proto musíte dát podmínku pravdivou, abyste ji podpořili.
# 2) Ovladač PhantomJS
Prohlížeč PhantomJS se také používá k provádění testování bezhlavého prohlížeče. Používá JavaScript API. Můžete jej použít pro bezhlavé testování webových stránek a pro přístup na webové stránky. Výhodou oproti ovladači jednotky HTML je, že dokáže pořizovat snímky obrazovky. To znamená, že váš test bude probíhat na pozadí a bude pořizovat snímky obrazovky.
Abychom mohli používat prohlížeč PhantomJS se Selenium WebDriver, musíme použít a stáhnout GhostDriver. Jedná se o implementaci drátového protokolu WebDriver v jednoduchém JS pro prohlížeč PhantomJS. Nyní v nejnovější verzi PhantomJS integrovali GhostDriver s PhantomJS. Nyní jej tedy nemusíme instalovat samostatně.
Stáhněte si soubor PhantomJs.exe odtud: PhantomJs
K provedení PhantomJS potřebujeme ovladač PhantomJS. Odkaz ke stažení: Ovladač PhantomJS
A když spustíme skript, musíme nastavit soubor vlastností PhantomJs.binary.path.
Viz níže uvedený kód:
//Create a Java Project, then under it create a package, under package create a class packageheadless_browser_testing; import java.io.File; import org.openqa.Selenium.WebDriver; import org.openqa.Selenium.phantomjs.PhantomJSDriver; import org.testng.annotations.Test; publicclass phantom_Js_Driver { //You can run your script with TestNG or JUnit or using Java Application // I am using TestNG and using TestNG annotations @Test publicvoidverifyFacebookTitle() { //Set the path to access the phantomjs.exe file File src = newFile('E:\exe\phantomjs-2.1.1-windows\bin\phantomjs.exe'); //You need to specify the property here and give path of driver System.setProperty('phantomjs.binary.path', src.getAbsolutePath()); //Call your PhantomJs Driver WebDriver driver = newPhantomJSDriver(); //It will get the Facebook URL and run the script in background, means you //will not see the Facebook page driver.get('http://www.facebook.com'); //Print the currentURL of the page System.out.println(driver.getCurrentUrl()); } }
Výstup : https://www.facebook.com/
PŘEDÁNO: verifyFacebookTitle
# 3) Ovladač Mozilla Firefox
Jak spustit WebDriver v prohlížeči Firefox:
Pro volání ovladače Firefoxu není nutné instalovat ani konfigurovat další soubory jar. Je to výchozí ovladač, který Selenium WebDriver podporuje.
Spuštění viz níže uvedený kód:
package Different_Drivers; import org.openqa.Selenium.WebDriver; import org.openqa.Selenium.firefox.FirefoxDriver; import org.testng.annotations.Test; import org.testng.Assert; public class FF_Driver { @Test public void Test_Gmail_Login() { WebDriver driver = new FirefoxDriver(); driver.get(“http://www.gmail.com”); driver.findElement(By.id('Email')).sendKeys('Enter user name'); driver.findElement(By.id('next')).click(); Thread.sleep(2000); driver.findElement(By.id('Passwd')).sendKeys('Enter Password'); driver.findElement(By.id('signIn')).click(); Thread.sleep(2000); String title_Of_Page = driver.getTitle(); Assert.assertEquals(driver.getTitle(), title_Of_Page); System.out.println('Page title matched'); } }
Výstup : Název stránky se shoduje
PROŠLO : Test_Gmail_Login
# 4) Ovladač Google Chrome
Jak spustit WebDriver v prohlížeči Chrome:
Pro volání ovladače Google Chrome si nejprve stáhněte ovladač a poté nastavte vlastnost systému pomocí níže uvedeného kódu:
package Different_Drivers; import org.openqa.Selenium.WebDriver; import org.openqa.Selenium.chrome.ChromeDriver; import org.testng.annotations.Test; importjava.util.Iterator; import java.util.Set; public class googleChrome_Driver { @Test public void Test_Rediff_Alert()throws InterruptedException{ //set system property, so that we can access chrome driver System.setProperty('webdriver.chrome.driver', 'E:\chromedriver.exe'); // It will open the Chrome browser and execute your logic WebDriverdriver = new ChromeDriver(); //Open rediff page in chrome browser driver.get(“http://www.rediffmail.com”); //wait for page to load Thread.sleep(5000); // It will get and store the main window page handle or id String mainpage = driver.getWindowHandle(); String subwinhandleString = null; //set a loop which will store all window pop up handles Set handle = driver.getWindowHandles(); Iterator iterator = handle.iterator(); while(iterator.hasNext ()) { subwinhandleString = iterator.next( ); } driver.switchTo().window(subwinhandleString); System.out.println(driver.getTitle()); Thread.sleep(2000); driver.close(); //Again switch back to main window driver.switchTo().window(mainpage); System.out.println(driver.getTitle()); } }
Výstup : Vítejte na rediff.com
Rediff.com: Online nakupování, Rediffmail, nejnovější zprávy z Indie, obchod, Bollywood, sport, akcie, skóre živého kriketu, peníze, recenze filmů
PROŠLO : Test_Rediff_Alert
Přečtěte si také=> Výuka selenu - Vyhledejte prvky v prohlížečích Chrome a IE
# 5) Ovladač aplikace Internet Explorer
Jak spustit WebDriver v prohlížeči IE:
Chcete-li volat ovladač aplikace Internet Explorer, stáhněte ovladač a nastavte vlastnost systému.
Viz níže uvedený kód:
package Different_Drivers; import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.DesiredCapabilities; import org.testng.annotations.Test; public class internetExplorer_Driver { @Test public void ieDriver() throws InterruptedException { //set system property, so that we can access IE driver System.setProperty('webdriver.ie.driver','E\IEDriverServer.exe'); //set desiredcapabilites for calling ie driver DesiredCapabilities capabilities = DesiredCapabilities.internetExplorer(); capabilities.setCapability (InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS,true); WebDriver driver = new InternetExplorerDriver(capabilities); driver.get('https://www.google.com'); Thread.sleep(5000); String title_Of_Page = driver.getTitle(); System.out.println(title_Of_Page); } }
Výstup : Google
PROŠLO : tj. Řidič
nejlépe převést youtube video na mp3
# 6) Ovladač opery
Pro volání ovladače Opera si stáhněte ovladač a nastavte vlastnost systému.
Viz níže uvedený kód:
package Different_Drivers; import org.openqa.Selenium.WebDriver; importorg.openqa.Selenium.opera.OperaDriver; import org.testng.annotations.Test; import org.testng.Assert; public class operaDriver { @Test public void createAccount(){ //set system property, so that we can access opera driver System.setProperty('webdriver.opera.driver', 'E:\operadriver.exe'); // it will open the opera browser WebDriver driver = newOperaDriver(); driver.get('https://www.google.com/intl/en/mail/help/about.html'); // Here driver will try to find out create an account link on the application WebElement createAccount = driver.findElement(By.xpath('.//*(@id='gmail-create-account')')); Assert.assertTrue(createAccount.isDisplayed()); //Create Account will be clicked only if the above condition is true createAccount.click(); System.out.println(createAccount.getText()); } }
Výstup : Vytvořit účet
PROŠLO : operaDriver
Přečtěte si také=> Anotace TestNG v selenu
Závěr
V tomto tutoriálu jsem se zabýval tím, jak nastavit a používat ovladače pro různé prohlížeče.
Viděli jsme, jak se ovladač jednotky HTML a ovladač PhantomJS liší od ostatních běžně používaných prohlížečů. Důvodem je to, že se nepoužívají pro běžné procházení, jako je Google Chrome a další; místo toho pracují interně a provádějí naše příkazy rychleji, protože nepodporují grafické uživatelské rozhraní. Můžeme také provádět skriptování na straně serveru s PhantomJS.
Nyní, když jsme pochopili, jak nastavit ovladače a nechat je pracovat v různých prohlížečích, musíme si ujasnit, proč to děláme. Jak všichni víte, Selenium podporuje pouze webové aplikace a k jejich otevření potřebujeme prohlížeč.
K otevření těchto prohlížečů jsou k dispozici různé ovladače (popsané výše). WebDriver je rozhraní, které obsahuje všechny v něm definované abstraktní metody. Proto voláme tyto metody, které jsou popsány v tomto kurzu k provedení našich úkolů.
Dejte nám vědět, pokud máte nějaké dotazy / komentáře k tomuto tutoriálu.
Doporučené čtení
- Cucumber Selenium Tutorial: Cucumber Java Selenium WebDriver Integration
- Úvod do Selenium WebDriver - Selenium Tutorial # 8
- Implementace našeho prvního skriptu WebDriver - výuka selenu WebDriver # 10
- Selenium FAQ
- Jak zacházet s výstrahami / vyskakovacími okny v Selenium WebDriver - Selenium Tutorial # 16
- Implicitní a explicitní čekání v selenu WebDriver (typy čekání selenu)
- Průvodce generováním rozsahu zpráv v selenu WebDriver
- Výukový program GeckoDriver Selenium: Jak používat GeckoDriver v selenových projektech