Selenium Tutorial - Aʻoaʻo Browser Automation ma Selenium WebDriver

Selenium o se seti o faletusi o loʻo faʻaaogaina e faʻataʻitaʻi ai fegalegaleaiga a le tagata ma se browser.

Tagata faʻaoga tusi tusitusiga e faʻaaoga ai selenium faletusi e faʻataʻitaʻi masani ai tagata faʻaaoga browser fesoʻotaʻiga, e pei o le faʻatautaia i se itulau, kilikiina o le faʻamau ma faʻatumu se fomu.

Selenium e masani ona faʻaaogaina i poloketi e fausia ai luma-iuga (UI) talosaga. E faʻaaogaina e otometi ai vaʻaiga e faʻatusa ai fegalegaleaiga a le tagata ma le upega tafailagi.




Faatu Selenium

Ina ia faʻaaogaina le Selenium WebDriver i se poloketi, e muamua ona tatou faʻatuina Selenium Core ma WebDriver Binaries.

E tatau foi ona tatou setiina le ala mo ave taʻavale uma e mafai ona faʻaaoga.


Afai e te manaʻo e faʻaaoga le Selenium ma Java, o lona uiga o le auala sili ona faigofie e faʻatutu ai le Selenium e ala i le faʻalagolago o le Maven i lau poloketi pom.xml faila:


org.seleniumhq.selenium
selenium-java
3.141.59

Ina ia tamoe i suʻega a Selenium i luga o le Google Chrome poʻo le Firefox browser, e tatau ona e faʻaopopo le faʻalagolago talafeagai i lau pom.xml faila:

Google Chrome Browser


org.seleniumhq.selenium
selenium-chrome-driver
3.141.59

Firefox Suʻesuʻe


org.seleniumhq.selenium
selenium-firefox-driver
3.141.59

Faʻapipiʻi le WebDriver Binaries ma seti le ala

E faʻatino suʻega Selenium i luga o se suʻesuʻega faʻapitoa, oe manaʻomia le i ai o le suʻega fesoʻotaʻi-faʻapitoa webDriver binaries faapipiiina ma le saʻo ala seti.

Chrome Ina ia seti le auala i le chromium e mafai ona faʻaaogaina i luga o le MacOS system, e mafai ona e faʻaaogaina:


$ export PATH='$PATH:/path/to/chromedriver'

E mafai foi ona e setiina le ala i polokalame, faʻasino saʻo ile code:

System.setProperty('webdriver.chrome.driver', '/path/to/chromedriver');

Firefox - Geckodriver:

System.setProperty('webdriver.gecko.driver', '/path/to/geckodriver');

Pito:

System.setProperty('webdriver.edge.driver', 'C:/path/to/MicrosoftWebDriver.exe');

Initaneti suesue:


System.setProperty('webdriver.ie.driver', 'C:/path/to/IEDriver.exe');

Avetaavale Suʻe Suʻesuʻe

A maeʻa ona faʻapipiʻi Selenium, o le isi o le amataina lea o se faʻapitoa vaʻavaʻaiga avetaʻavale ina ia mafai ai ona faʻatautaia le UI suʻega.

Selenium suʻega e tamoʻe faʻasaga i le tagata faʻaoga o se tusi talosaga ma manaʻomia se browser e galue ai. E mafai ona faʻamaoti mai poʻo le fea le masini suʻesuʻe matou te mananaʻo ai e faʻatautaia a matou suʻega, ona faʻatonuina lea o le avetaavale talafeagai.

Faʻaaliga:O suʻega ole seleniuma e naʻo le UI otometi ma suʻega faʻasaga i se browser.

Chrome

import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; WebDriver driver = new ChromeDriver();

Firefox

import org.openqa.selenium.WebDriver; import org.openqa.selenium.Firefox.FirefoxDriver; WebDriver driver = new FirefoxDriver();

Pito

import org.openqa.selenium.WebDriver; import org.openqa.selenium.edge.EdgeDriver; WebDriver driver = new EdgeDriver();

Initaneti suesue

import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; WebDriver driver = new InternetExplorerDriver();

Vaʻai faʻataʻitaʻi

O le taimi lava e fai ai le tatou malosiaga WebDriver sauniga ma ua faʻalauiloaina se browser, o le isi mea tatou te mananaʻo e fai o le faʻasolosolo i se itulau ma faʻatautaia suʻega.

Selenium WebDriver faʻaavanoaina ni numera o metotia aoga e faʻafesoʻotaʻi ai ma le browser. E mafai ona matou faʻatautaia faʻamatalaga ma maua faʻamatalaga e uiga i le itulau ua iai nei.


Ina ia faatautaia se URL e lua a matou filifiliga:

//The short form driver.get('https://devqa.io'); //The long form driver.navigate().to('https://devqa.io');

Alu i tua

Le Seleniuma back() metotia simulate kilikiina o le browser pito i tua faamau:

driver.navigate().back();

Agai i luma

Le Seleniuma forward() metotia simulate kilikiina o le browser's luma ki:

driver.navigate().forward();

Faafouina o le Itulau

Le Seleniuma refresh() metotia faʻataʻitaʻi kilikiina le faʻamau fou a le browser:


driver.navigate().refresh();

Mauaina Nei Itulau Faʻamatalaga

Selenium o loʻo faʻaavanoaina foʻi metotia e maua ai le taimi nei url, itulau ulutala ma itulau itulau.

Maua le URL o loʻo iai nei

E mafai ona matou mauaina le itulau ole URL i le taimi nei:

driver.getCurrentUrl();

Maua le Igoa Itulau

E mafai ona matou mauaina le ulutala itulau o loʻo iai nei:

driver.getTitle();

Maua le Punavai Itulau

E mafai ona matou mauaina le itulau o loʻo iai nei:

driver.getPageSource();

Tapunia ma Tuʻua le Sauniga a le Suʻesuʻega

E tapunia nei le faʻamalama suʻega:

driver.close(); Faʻaaliga:Tapuni le faamalama suʻega leai faamuta le sauniga WebDriver.

E faʻamavae le WebDriver sauniga i le iʻuga o le suʻega faʻaaoga:

driver.quit();

O le faʻamuta auala o le a:

  • Tapuni uma faamalama e fesoʻotaʻi ma lena sauniga WebDriver
  • Fasioti le masini suʻesuʻe
  • Fasioti le gaioiga


Selenium locators - Faʻafefea ona suʻe elemeni i luga ole laiga

Ae le i mafai ona faʻafesoʻotaʻi ma se upega tafailagi elemeni, tatou manaʻomia le sailia o le elemeni i luga o le itulau html.

O se tasi o agavaʻa taua o le suʻesuʻeina o masini inisinia o loʻo galulue ma Selenium WebDriver o le mafai ona faʻaaoga metotia talafeagai e suʻe ai elemeni i luga o le itulau.

Mo se faʻataʻitaʻiga, afai tatou te mananaʻo e kiliki se soʻoga, faʻamaonia o se feʻau o loʻo faʻaalia pe kiliki se ki, e tatau ona tatou muaʻi sailia le elemeni.

Selenium WebDriver faʻaavanoa metotia 'eseʻese e suʻe ai elemeni luga o se itulau.

O se tagata suʻesuʻe faʻamatalaina le mea e te manaʻo e mauaina luga o se itulau. I Java, matou te faia se tagata faʻavae e ala i le faʻaaogaina o le By vasega.

Mo se faʻataʻitaʻiga, afai matou te mananaʻo e saili se h1 ulutala elemeni luga o se itulau, matou te tusia

WebElement h1Element = driver.findElement(By.tagName('h1'));

Pe, afai matou te mananaʻo e saili uma parakalafa elemeni i luga o se itulau, matou te faʻaaogaina

List pElements = driver.findElements(By.tagName('p'));

E ala i le fesoʻotaʻiga tusitusiga

O lenei metotia e suʻe ai elemeni i tusitusiga tonu o loʻo faʻaalia. Lenei auala e masani lava o le sili sailia locator mo sooga i luga o se itulau.

Mo se faʻataʻitaʻiga, faʻapea ua i ai lenei sootaga i luga o se itulau:

Forgotten Password

Ma, o le soʻotaga mafai ona maua i le faʻaaogaina:

driver.findElement(By.linkText('Forgotten Password'));

I se vaega o fesoʻotaʻiga tusitusiga

A matou le mautinoa i le saʻo upu o le fesoʻotaʻiga tusitusiga ae matou te mananaʻo e suʻea se soʻoga poʻo ni fesoʻotaʻiga o loʻo iai se tusitusiga tuʻuina atu, e mafai ona tatou faʻaaogaina

driver.findElement(By.partialLinkText('Forgotten '));

pe

driver.findElement(By.partialLinkText('Password'));

E tatau ona e faʻaeteete a o e faʻaaogaina findElement ma lenei tagata suʻesuʻe ona e mafai ona i ai isi elemeni o loʻo i ai le tutusa vaega tusitusiga, o lea e le tatau ona faʻaaogaina e suʻe ai se mea e tasi ia ia lava. E sili ona lelei le faʻaogaina e suʻe ai se kulupu o elemeni faʻaaogaina le findElements metotia.

E ala ile vasega

Lenei locates elemene i le taua o le vasega uiga. Lenei e mafai ona faʻaaogaina mo na o elemeni o loʻo iai se vasega uiga, ae e le o se lelei filifilia e faʻaoga i le findElement metotia

Faʻaaoga le faʻataʻitaʻiga e tasi i luga atu ma le fesoʻotaʻiga, o le fesoʻotaʻiga 'Faʻagaloina Upu' e tasi le vasega a le CSS: btn lea e mafai ona faʻaaogaina e suʻe ai

Forgotten Password

Ma, o le soʻotaga mafai ona maua i le faʻaaogaina:

driver.findElement(By.className('btn')); Faʻaaliga:O le vasega uiga e faʻaaogaina mo teuteuina itulau, ma o lea avanoa e ono tele elemene ono foliga mai o le tutusa vasega.

E id

E ala ile id, suʻe elemeni ile taua ole latou id uiga. O le fesoʻotaʻiga i luga atu faʻataʻitaʻiga o loʻo i ai se id e mafai ona tatou faʻaaogaina:

Forgotten Password

Ma, o le soʻotaga mafai ona maua i le faʻaaogaina:

driver.findElement(By.id('change-password'));

Afai o avanoa id uiga, ona tatau lea ona faʻaaogaina o le muamua filifilia filifiliga.

I le igoa

Suʻe elemene ile taua o latou igoa uiga. Masani e naʻo le mafai ona faʻaaoga e suʻe ai ni fomu elemeni fausia e faʻaaoga ai: , , , ma .

I luga o se masani login itulau, oe i ai sao vaega e ono pei o:

E mafai loa ona tatou suʻeina le fanua imeli i le faʻauluina o le igoa igoa

driver.findElement(By.name('email'));

I le igoa igoa

Lenei tagata suʻesuʻe mauaina elemene i le latou igoa HTML tag. Talu ai e tele taimi e tele ai toe faʻaoga faʻaoga le tele o faʻailoga, e le o se mea lelei le faʻaaoga o lenei metotia e suʻe ai se elemeni e tasi.

O se faʻaaogaga faʻaaogaina o le sailia o se elemeni e ala i le igoa o le igoa e mo le sailia o le ulutala o le itulau, aua e naʻo le tasi le tasi o nei:

Welcome to DevQA!

E mafai ona tatou sailia le ulutala fanua ile igoa ole igoa:

driver.findElement(By.tagName('h1'));

E tagata filifilia Css

Suʻe elemeni e ala i le avetaavale faʻavae W3 CSS Selector afi. CSS tagata filifilia filifilia e malosi aua e mafai ona faʻaaogaina e suʻe ai soʻo se elemeni luga o se itulau.

Forgotten Password

E mafai loa ona tatou suʻeina le fanua imeli i le faʻauluina o le igoa igoa

driver.findElement(By.cssSelector('#change-password'));

Lenei, # fai ma sui id o le elemeni. Ma le . faʻailoga e fai ma sui o le vasega uiga o se elemeni.

Faataitaiga:

driver.findElement(By.cssSelector('.btn'));

Fesootai:

E XPath

XPath locators o le sili ona faigata tagata filifilia e faʻaaoga. E manaʻomia le poto i le XPath fesili fesili, afai la e te le o lelei i lena fesili fesili, o le a faigata ia oe ona maua elemeni faʻaaogaina XPath fesili.

Seʻi tatou vaʻai i se faʻataʻitaʻiga faʻaaogaina o se XPath mo lenei HTML:

Change Password

E mafai loa ona tatou suʻeina le fanua imeli i le faʻauluina o le igoa igoa

driver.findElement(By.xpath('//a[@id='change-password']'));

Faʻafesoʻotaʻi ma Upega Tafaʻilagi Elemene

A maeʻa loa ona maua se elemeni i luga o le itulau, e mafai ona tatou faʻafesoʻotaʻi ma ia e faʻaaoga ai le tele o auala e maua mai i le seleni.

Selenium WebDriver faʻaavanoaina o ni auala e fegalegaleai ai ma 'upega tafaʻilagi elemeni pei o le kilikiina o lafoina faʻamau ma le ulufaleina o tusitusiga i totonu o avanoa.

O le WebElement vasega ei ai le tele o metotia e mafai ona tatou faʻaaogaina e fegalegaleai ai ma itulau elemeni. O mea taatele e:

  • click()
  • clear()
  • sendKeys()
  • submit()

Kiliki

O le click() metotia e faʻaaogaina e kiliki ai le 'upega tafaʻilagi elemeni pei o se sooga poʻo se faʻamau.

Faʻataʻitaʻiga:

Menu WebElement mToggle = driver.findElement(By.id('menu-toggle')); mToggle.click();

Manino

O le clear() metotia faʻamamaina le taua fanua aoga.

Motugaafa:E fautuaina e faʻaaoga le . manino () metotia ae e te leʻi tusia tusitusiga i se vaega faʻaulufale.

Faʻataʻitaʻiga:

WebElement username = driver.findElement(By.id('username')); username.clear();

SendKeys

Matou te faʻaaogaina le sendKeys() auala e faʻaofi ai mataitusi i totonu o se pusa fanua faʻaulu.

Faʻataʻitaʻiga:

WebElement username = driver.findElement(By.id('username')); username.sendKeys('jondoe');

Faʻataʻitaʻiga - Faʻatumu se fomu

Lalo o se faʻataʻitaʻiga pe faʻafefea ona faʻaaoga Selenium e faʻatumu ai se pepa

username:

Last name:


WebElement username = driver.findElement(By.id('username'));
username.sendKeys('jondoe');
WebElement password = driver.findElement(By.id('password'));
password.sendKeys('secret');
WebElement submit = driver.findElement(By.cssSelector('input[type='submit']'));
submit.click();

O lenei ua tatou ufiufiina autu o Selenium WebDriver, ua oʻo i le taimi e fausia ai se faʻavae.



Fausia se Selenium Framework

Aʻoaʻo pe faʻafefea ona fausia se selenium framework mai valu.

O le muamua vaega o le aʻoaʻoga maua ai se laʻasaga i lea auala e fausia ai se selenium WebDriver faʻavae faʻaaogaina Java, Maven ma TestNG.

O le vaega lona lua e taulaʻi i le faʻatulagaina o selenium suʻega faʻavae i luga o le lauiloa Page Object Model.