how run selenium webdriver different popular browsers
Селениум подржава само веб апликације и за њихово отварање потребан нам је прегледач. Селен може да подржи разне претраживаче за аутоматизацију тестова.
У овом упутству ћемо објаснити како да подесите управљачке програме за различите прегледаче доступне на тржишту.
У тренутној индустрији постоје само три популарна прегледача који се широко користе, тј. Гоогле Цхроме, Мозилла Фирефок и Интернет Екплорер. Међутим, Селениум подржава и друге прегледаче. Да бисмо извршили нашу скрипту на различитим прегледачима, потребан нам је управљачки програм тог прегледача.
=> Прочитајте све водиче о селену овде
Шта ћете научити:
- Како подесити управљачке програме за различите прегледаче
- Тестирање у више прегледача помоћу селена ВебДривер
- Закључак
Како подесити управљачке програме за различите прегледаче
Препоручени алат:
# 1) ЛамбдаТест
Извршите тестирање аутоматизације Селениум на скалабилној, сигурној и поузданој мрежи Селениум заснованој на облаку. Убрзајте аутоматизацију селена за тестирање, истовремено повећавајући покривеност тестом тестирањем на мрежној инфраструктури од 2000+ рачунара и окружења мобилних прегледача.
Када први пут започињемо са аутоматизацијом селена, наша прва линија кода долази као:
Управљачки програм за ВебДривер = нови ФиреФокДривер ();
То значи да је ВебДривер интерфејс и ми дефинишемо референтну променљиву (покретачки програм) чији је тип интерфејс.
Сада било који објекат који му доделимо мора бити примерак класе (ФиреФокДривер) или било који други покретачки програм који примењује тај интерфејс. У нашем случају, ФиреФокДривер је класа, а интерфејс је ВебДривер.
Када све наше подешавање управљачког програма буде завршено извршавамо било коју наредбу Селениум као што је:
дривер.гетТитле ();
Погледајте снимак екрана:
ц програмирање питања и одговори на интервјуу пдф
Оно што се сада дешава је да се интерно креира ХТТП захтев и пошаље оном специфичном управљачком програму прегледача који смо дефинисали, управљачки програм прегледача користи тај ХТТП сервер за добијање ХТТП захтева и он одређује кораке потребне за спровођење наредбе Селениум.
Наша креирана логика се извршава у прегледачу, а затим се резултат извршења шаље натраг на ХТТП сервер и поново шаље статус у скрипту за аутоматизацију.
Дакле, након подешавања управљачког програма можемо приступити свим уграђеним методама класе возача попут:
- финдЕлемент ();
- Близу();
- гетЦласс (); и још много тога
Погледајте снимак екрана:
Да бисте приступили овим методама, откуцајте „ возач. “У уређивачу и приказаће све методе, или можете притиснути„ цтрл + размак “и приказаће вам методе.
Погледајте снимак екрана:
Понекад уграђеним методама није могуће приступити када притиснете „цтрл + размак“. Затим морате проверити поставке путање ЈАВА_ХОМЕ направљене у променљивој околине и уверити се да су тачне.
Кораци за подешавање променљиве околине:
- Идите на Контролну таблу -> Кликните на Систем
- Идите на Адванце Систем Сеттингс
- Кликните на дугме Променљиве околине
- Кликом на ново дугме подесите путању ЈАВА_ХОМЕ.
Селениум долази са подразумеваним Мозилла Фирефок управљачким програмом који је упакован у јар датотеку Селениум ВебДривер. Због тога за позивање Фирефок управљачког програма није потребно подешавање. Ако желимо да користимо друге прегледаче, морамо да подесимо његово системско својство.
Препоручено читање => Унакрсно тестирање прегледача помоћу селенске мреже
Тестирање у више прегледача помоћу селена ВебДривер
Сада ћемо видети подешавање и извршавање управљачких програма у доле поменутим прегледачима:
# 1) Мозилла Фирефок
#два) Гоогле Цхроме
# 3) интернет претраживач
# 4) Опера
# 5) Гхост Дривер или ПхантомЈС
# 6) ХТМЛ јединица
Управљачке програме за поменуте прегледаче (осим ПхантомЈС-а и ХТМЛ јединице - погледајте доле за ове) можете преузети овде: СелениумХК
Под претпоставком да сте сви упознати са различитим горе поменутим прегледачима, сада ћу објаснити шта јесте Дух возач и Управљачки програм ХТМЛ јединице функционалност и како их поставити за вашу скрипту.
# 1) ХТМЛ управљачки програм јединице
Коришћењем овог управљачког програма можемо извршити тестирање претраживача без главе, што значи да за њега не постоји ГУИ који можете видети док се он интерно покреће. И, не можете извршити све операције као у нормалним прегледачима.
Генерално, за тестирање се не препоручује ХТМЛ јединица управљачког програма. Међутим, можемо га користити јер је бржи, најлакша примена ВебДривера користи се за генерисање пробних података за прослеђивање садржаја једне веб странице другом програму или скрипти.
За употребу ХТМЛ јединице управљачког програма није потребно инсталирати додатне АПИ-је или јар датотеке. Можете га користити када добијете самосталну јар датотеку сервера Селениум.
Погледајте доњи код:
//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); } }
Оутпут : Фацебоок - Пријавите се или региструјте
ПРОШЛО ЈЕ : верифиФацебоокТитле
Управљачки програм ХТМЛ јединице се не препоручује за сложене апликације и који користи јкуери или јавасцрипт или ХТМЛ 5. Подразумевано не подржава јавасцрипт. Дакле, морате дати тачно стање да бисте га подржали.
# 2) ПхантомЈС управљачки програм
Прегледач ПхантомЈС се такође користи за тестирање безглавог прегледача. Користи ЈаваСцрипт АПИ. Можете га користити за безглаво тестирање веб локација и приступ веб страницама. Једна предност у односу на ХТМЛ Унит Дривер је што може да снима снимке екрана. То значи да ће се тест изводити у позадини и снимати снимке екрана.
Да бисмо користили ПхантомЈС претраживач са Селениум ВебДривер, морамо да користимо и преузмемо ГхостДривер. То је примена ВебДривер жичаног протокола у једноставном ЈС-у за прегледач ПхантомЈС. Сада су у најновијем издању ПхантомЈС интегрисали ГхостДривер са ПхантомЈС. Стога га сада не морамо инсталирати одвојено.
Преузмите датотеку ПхантомЈс.еке овде: ПхантомЈс
Да бисмо извршили ПхантомЈС, потребан нам је ПхантомЈС управљачки програм. Линк за скидање: ПхантомЈС управљачки програм
И треба да поставимо датотеку својстава ПхантомЈс.бинари.патх када извршимо скрипту.
Погледајте доњи код:
//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()); } }
Оутпут : хттпс://ввв.фацебоок.цом/
ПРОШЛО: верифиФацебоокТитле
# 3) Мозилла Фирефок управљачки програм
Како покренути ВебДривер у прегледачу Фирефок:
За позивање Фирефок Дривер-а није потребно инсталирати или конфигурисати додатне јар датотеке. То је подразумевани управљачки програм који Селениум ВебДривер подржава.
Погледајте испод код за извршење:
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'); } }
Оутпут : Наслов странице се подудара
ПРОШЛО ЈЕ : Тест_Гмаил_Логин
# 4) Гоогле Цхроме управљачки програм
Како покренути ВебДривер у прегледачу Цхроме:
Да бисте позвали Гоогле Цхроме управљачки програм, прво преузмите управљачки програм, а затим подесите системско својство помоћу доњег кода:
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()); } }
Оутпут : Добродошли на редифф.цом
Редифф.цом: Интернет куповина, Редиффмаил, најновије вести из Индије, посао, Болливоод, спорт, залихе, уживо крикет резултат, новац, филмски прикази
ПРОШЛО ЈЕ : Тест_Редифф_Алерт
Такође прочитајте=> Водич за селен - Пронађите елементе у прегледачима Цхроме и ИЕ
# 5) Управљачки програм за Интернет Екплорер
Како покренути ВебДривер у ИЕ прегледачу:
За позивање управљачког програма Интернет Екплорер преузмите управљачки програм и подесите системско својство.
Погледајте доњи код:
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); } }
Оутпут : Гоогле
ПРОШЛО ЈЕ : иеДривер
# 6) Опера Дривер
Да бисте позвали Опера Дривер, преузмите управљачки програм и подесите системско својство.
Погледајте доњи код:
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()); } }
Оутпут : Направи налог
ПРОШЛО ЈЕ : операДривер
која је фаза анализе у сдлц
Такође прочитајте=> ТестНГ напомене у селену
Закључак
У овом упутству сам описао како да подесим и користим управљачке програме за разне прегледаче.
Видели смо по чему се ХТМЛ Унит Дривер и ПхантомЈС Дривер разликују од осталих често коришћених прегледача. Разлог томе је што се не користе за уобичајено прегледање попут Гоогле Цхроме-а и других; уместо тога, они раде интерно и извршавају наше наредбе брже јер не подржава ГУИ. Такође можемо изводити скрипте на серверу са ПхантомЈС-ом.
Сад кад смо разумели како да подесимо управљачке програме и покренемо их да раде на разним прегледачима, мора да нам буде јасно зашто то радимо. Као што сте сви свесни, Селениум подржава само веб апликације и за њихово отварање потребан нам је прегледач.
Постоје разни покретачки програми (о којима је раније било речи) који су доступни за отварање ових прегледача. ВебДривер је интерфејс који садржи све апстрактне методе дефинисане у њему. Стога ове методе, о којима се говори у овом упутству, позивамо да бисмо извршили наше задатке.
Јавите нам ако имате питања / коментаре у вези са овим упутством.
Препоручено читање
- Водич за краставац селенијум: Интеграција Јава Селениум ВебДривер краставца
- Увод у Селениум ВебДривер - Водич за селен бр. 8
- Примена наше прве скрипте за ВебДривер - Водич бр. 10 за Селениум ВебДривер
- Честа питања о селену
- Како се рукује упозорењима / искачућим прозорима у програму Селениум ВебДривер - Водич за селен # 16
- Имплицитно и експлицитно чекање у програму Селениум ВебДривер (врсте селенијских чекања)
- Водич за генерисање екстензивних извештаја у програму Селениум ВебДривер
- Водич за ГецкоДривер Селениум: Како се користи ГецкоДривер у пројектима Селениум