how run selenium webdriver different popular browsers
Selén podporuje iba webové aplikácie a na ich otvorenie potrebujeme prehliadač. Selén môže podporovať rôzne prehliadače pre automatizáciu testov.
V tomto návode vysvetlíme, ako nastaviť ovládače pre rôzne prehľadávače dostupné na trhu.
V súčasnom priemysle existujú iba tri populárne prehľadávače, ktoré sú široko používané, tj. Google Chrome, Mozilla Firefox a Internet Explorer. Selén však podporuje aj iné prehľadávače. Na vykonanie nášho skriptu v rôznych prehľadávačoch potrebujeme ovládač daného prehliadača.
=> Prečítajte si všetky návody na selén tu
Čo sa dozviete:
- Ako nastaviť ovládače pre rôzne prehľadávače
- Testovanie viacerých prehliadačov pomocou selénu WebDriver
- Záver
Ako nastaviť ovládače pre rôzne prehľadávače
Odporúčaný nástroj:
# 1) LambdaTest
Vykonajte testovanie automatizácie selénu na škálovateľnej, bezpečnej a spoľahlivej cloudovej selénovej sieti online. Zrýchlite svoju automatizáciu testovania selénu súčasne a zvýšte pokrytie testovaním testovaním na online infraštruktúre viac ako 2 000 prostredí počítačov a mobilných prehliadačov.
=> Navštívte webovú stránku LambdaTest
Keď prvýkrát začíname s automatizáciou selénu, náš prvý riadok kódu prichádza ako:
Ovládač WebDriver = nový FireFoxDriver ();
To znamená, že WebDriver je rozhranie a my definujeme referenčnú premennú (ovládač), ktorej typom je rozhranie.
Teraz akýkoľvek objekt, ktorý mu priradíme, musí byť inštanciou triedy (FireFoxDriver) alebo akékoľvek iné ovládače, ktoré implementujú dané rozhranie. V našom prípade je FireFoxDriver trieda a rozhranie je WebDriver.
Po dokončení všetkých nastavení ovládača vykonáme ľubovoľný príkaz selénu, napríklad:
driver.getTitle ();
Odkazovať na snímku obrazovky:
najnovšie nástroje na testovanie automatizácie na trhu
Čo sa teraz stane, je to, že interne sa vytvorí požiadavka HTTP a odošle sa konkrétnemu ovládaču prehľadávača, ktorý sme definovali. Ovládač prehľadávača použije tento server HTTP na získanie požiadaviek HTTP a určí kroky potrebné na implementáciu príkazu Selenium.
Naša vytvorená logika sa vykoná v prehliadači, potom sa výsledok vykonania odošle späť na server HTTP a ten znova odošle stav späť do automatizačného skriptu.
Po nastavení ovládača teda máme prístup ku všetkým zabudovaným metódam triedy ovládačov, ako sú:
- findElement ();
- Zavrieť();
- getClass (); a mnoho ďalších
Pozri snímku obrazovky:
Ak chcete získať prístup k týmto metódam, zadajte „ vodič. ”V editore a zobrazí sa všetky metódy, inak môžete stlačiť„ ctrl + medzera “a zobrazí sa vám metódy.
Odkazovať na snímku obrazovky:
Vstavané metódy niekedy nie sú prístupné, keď stlačíte kláves „ctrl + medzera“. Potom musíte skontrolovať nastavenia cesty JAVA_HOME vykonané v premennej prostredia a skontrolovať, či sú správne.
Kroky na nastavenie premennej prostredia:
- Prejdite na Ovládací panel -> kliknite na Systém
- Prejdite na Advance System Settings
- Kliknite na tlačidlo Premenné prostredia
- Po kliknutí na nové tlačidlo nastavte cestu JAVA_HOME.
Selenium je dodávaný s predvoleným ovládačom Mozilla Firefox, ktorý je súčasťou súboru jar selenium WebDriver. Preto pre volanie ovládača Firefox nie je potrebné žiadne nastavenie. Ak chceme používať iné prehliadače, musíme nastaviť jeho systémovú vlastnosť.
Odporúčané čítanie => Cross Browser Testing using Selenium Grid
Testovanie viacerých prehliadačov pomocou selénu WebDriver
Teraz uvidíme nastavenie a vykonávanie ovládačov v nižšie uvedených prehliadačoch:
# 1) Mozilla Firefox
#dva) Google Chrome
# 3) internet Explorer
# 4) Opera
# 5) Ghost Driver alebo PhantomJS
# 6) Jednotka HTML
Ovládače pre spomenuté prehliadače (okrem PhantomJS a HTML Unit - skontrolujte ich nižšie) si môžete stiahnuť odtiaľto: Selén HQ
Za predpokladu, že ste si všetci vedomí rôznych prehľadávačov uvedených vyššie, teraz vysvetlím, čo to je Vodič duchov a Ovládač jednotky HTML a ako ich nastavíte pre svoj skript.
# 1) Ovládač jednotky HTML
Pomocou tohto ovládača môžeme robiť Headless Browser Testing, čo znamená, že preň neexistuje žiadne grafické užívateľské rozhranie, ktoré by ste videli pri jeho internom spustení. A nemôžete vykonávať všetky operácie ako v bežných prehľadávačoch.
Všeobecne sa na testovanie neodporúča ovládač jednotky HTML. Môžeme ho však použiť, pretože je rýchlejší, najľahšia implementácia WebDriveru sa používa na generovanie testovacích údajov a na prenos obsahu jednej webovej stránky do iného programu alebo skriptu.
Pre použitie HTML Unit Driver nie je potrebné inštalovať žiadne ďalšie API alebo jar súbory. Môžete ho použiť, akonáhle máte samostatný súbor selenu na serveri Selenium.
Pozrite si nižšie 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ýkon : Facebook - Prihláste sa alebo zaregistrujte
PREDANÉ : verifyFacebookTitle
Ovládač jednotky HTML sa neodporúča pre zložité aplikácie a používa jquery alebo javascript alebo HTML 5. V predvolenom nastavení nepodporuje javascript. Preto musíte dať podmienku pravdivú, aby ste ju podporili.
# 2) Ovládač PhantomJS
Prehliadač PhantomJS sa tiež používa na vykonávanie testov bezhlavého prehliadača. Používa JavaScript API. Môžete ho použiť na bezhlavé testovanie webových stránok a na prístup k webovým stránkam. Jednou výhodou oproti ovládaču jednotiek HTML je, že dokáže snímať snímky obrazovky. To znamená, že váš test bude prebiehať na pozadí a bude snímať snímky obrazovky.
Aby sme mohli používať prehliadač PhantomJS so Selenium WebDriver, musíme použiť a stiahnuť GhostDriver. Jedná sa o implementáciu drôtového protokolu WebDriver v jednoduchom JS pre prehliadač PhantomJS. Teraz v najnovšom vydaní PhantomJS integrovali GhostDriver s PhantomJS. Teraz ho teda nemusíme inštalovať osobitne.
Stiahnite si súbor PhantomJs.exe odtiaľto: PhantomJs
Na vykonanie PhantomJS potrebujeme ovládač PhantomJS. Odkaz na stiahnutie: Ovládač PhantomJS
A keď spustíme skript, musíme nastaviť súbor vlastností PhantomJs.binary.path.
Pozrite si nižšie 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ýkon : https://www.facebook.com/
ZARIADENÉ: verifyFacebookTitle
# 3) Ovládač Mozilla Firefox
Ako spustiť WebDriver v prehliadači Firefox:
Pre volanie ovládača Firefox nie je potrebné inštalovať alebo konfigurovať ďalšie súbory jar. Je to predvolený ovládač, ktorý podporuje webový server Selenium WebDriver.
Vykonanie nájdete nižšie v kóde:
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ýkon : Názov stránky sa zhoduje
PREDANÉ : Test_Gmail_Login
# 4) Ovládač Google Chrome
Ako spustiť WebDriver v prehliadači Chrome:
Pri volaní ovládača Google Chrome si najskôr stiahnite ovládač a potom nastavte vlastnosť systému pomocou nižšie 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ýkon : Vitajte na rediff.com
Rediff.com: Online nakupovanie, Rediffmail, najnovšie správy z Indie, obchod, Bollywood, šport, akcie, skóre kriketu naživo, peniaze, filmové recenzie
java pass array na metódu odkazom
PREDANÉ : Test_Rediff_Alert
Prečítajte si tiež=> Výučba selénu - Vyhľadajte prvky v prehliadačoch Chrome a IE
# 5) Ovládač Internet Explorer
Ako spustiť WebDriver v prehliadači IE:
Ak chcete volať ovládač Internet Explorer, stiahnite si ovládač a nastavte systémovú vlastnosť.
Pozrite si nižšie 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ýkon : Google
PREDANÉ : ieDriver
# 6) Ovládač opery
Ak chcete volať ovládač Opera, stiahnite si ovládač a nastavte systémovú vlastnosť.
Pozrite si nižšie 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ýkon : Vytvoriť účet
PREDANÉ : operaDriver
Prečítajte si tiež=> Anotácie TestNG v seléne
Záver
V tomto návode som sa venoval spôsobu nastavenia a používania ovládačov pre rôzne prehľadávače.
Videli sme, ako sa jednotky HTML Unit Driver a PhantomJS Driver líšia od iných bežne používaných prehliadačov. Dôvodom je to, že sa nepoužívajú na bežné prehliadanie, ako je Google Chrome a ďalšie; Namiesto toho pracujú interne a rýchlejšie vykonávajú naše príkazy, pretože nepodporujú grafické rozhranie. S programom PhantomJS môžeme tiež vykonávať skriptovanie na strane servera.
Teraz, keď sme pochopili, ako nastaviť ovládače a umožniť im pracovať v rôznych prehľadávačoch, musíme si uvedomiť, prečo to robíme. Ako všetci viete, selén podporuje iba webové aplikácie a na ich otvorenie potrebujeme prehliadač.
Na otvorenie týchto prehľadávačov sú k dispozícii rôzne ovládače (diskutované vyššie). WebDriver je rozhranie, ktoré obsahuje všetky abstraktné metódy v ňom definované. Preto na vykonávanie našich úloh voláme tieto metódy, o ktorých pojednáva tento návod.
Dajte nám vedieť, ak máte akékoľvek otázky alebo pripomienky týkajúce sa tohto tutoriálu.
Odporúčané čítanie
- Výukový program Cucumber Selenium: Cucumber Java Selenium WebDriver Integration
- Úvod do softvéru Selenium WebDriver - Výučba selénu č. 8
- Implementácia nášho prvého skriptu WebDriver - výučba selénu WebDriver č. 10
- Časté otázky o seléne
- Ako zaobchádzať s upozorneniami alebo vyskakovacími oknami v selenovom webovom ovládači - selénský výukový program č. 16
- Implicitné a explicitné čakanie v ovládači selénu WebDriver (typy čakania na selén)
- Sprievodca generovaním rozsahu správ v selenovom webovom ovládači
- Výukový program GeckoDriver Selenium: Ako používať GeckoDriver v selénových projektoch