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.
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:
org.seleniumhq.selenium
selenium-chrome-driver
3.141.59
org.seleniumhq.selenium
selenium-firefox-driver
3.141.59
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');
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.import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; WebDriver driver = new ChromeDriver();
import org.openqa.selenium.WebDriver; import org.openqa.selenium.Firefox.FirefoxDriver; WebDriver driver = new FirefoxDriver();
import org.openqa.selenium.WebDriver; import org.openqa.selenium.edge.EdgeDriver; WebDriver driver = new EdgeDriver();
import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; WebDriver driver = new InternetExplorerDriver();
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');
Le Seleniuma back()
metotia simulate kilikiina o le browser pito i tua faamau:
driver.navigate().back();
Le Seleniuma forward()
metotia simulate kilikiina o le browser's luma ki:
driver.navigate().forward();
Le Seleniuma refresh()
metotia faʻataʻitaʻi kilikiina le faʻamau fou a le browser:
driver.navigate().refresh();
Selenium o loʻo faʻaavanoaina foʻi metotia e maua ai le taimi nei url, itulau ulutala ma itulau itulau.
E mafai ona matou mauaina le itulau ole URL i le taimi nei:
driver.getCurrentUrl();
E mafai ona matou mauaina le ulutala itulau o loʻo iai nei:
driver.getTitle();
E mafai ona matou mauaina le itulau o loʻo iai nei:
driver.getPageSource();
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:
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'));
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'));
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.
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 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.
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'));
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'));
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:
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']'));
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()
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();
O le clear()
metotia faʻamamaina le taua fanua aoga.
Faʻataʻitaʻiga:
WebElement username = driver.findElement(By.id('username')); username.clear();
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');
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.
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.