Akoranga Awhina Selenium - Akohia te Aunoa mo te Tirohanga me te Selenium WebDriver

Ko te Selenium he huinga whare pukapuka e whakamahia ana hei whakatauira i nga taunekeneke a te kaiwhakamahi me te kaitirotiro.

Ka tuhia e nga kaiwhakamahi nga tuhinga hei whakamahi i nga wharepukapuka selenium hei whakatauira i nga taunekeneke tirotiro a nga kaiwhakamahi noa, penei i te whakatere ki tetahi whaarangi, paatene i te paatene me te whakakii i tetahi puka.

Ka whakamahia noa a Selenium i roto i nga kaupapa e hanga ana i nga tono o mua-mutunga (UI). Ka whakamahia hei whakamahi aunoa i nga ahuatanga e rite ana ki te taunekeneke a te kaiwhakamahi me te tono paetukutuku.




Whakauruhia a Selenium

Hei whakamahi i te Selenium WebDriver i roto i tetahi kaupapa, me matua whakauru e maatau a Selenium Core me te WebDriver Binaries.

Me whakarite e taatau te ara mo ia taraiwa ka taea te whakahaere.


Mena kei te hiahia koe ki te whakamahi i a Selenium me Java, ko te huarahi ngawari ki te whakauru i te Selenium ma te whakawhirinaki a Maven ki to kaupapa pom.xml konae:


org.seleniumhq.selenium
selenium-java
3.141.59

Hei whakahaere i nga whakamatautau Selenium i runga i te Google Chrome, i te Firefox tirotiro ranei, me whakauru e koe te whakawhirinaki whaitake ki to pom.xml konae:

Tirotiro Google Chrome


org.seleniumhq.selenium
selenium-chrome-driver
3.141.59

Pūtirotiro Firefox


org.seleniumhq.selenium
selenium-firefox-driver
3.141.59

Whakauruhia nga Tuarua Kaiwhakarite Paetukutuku ka Whakaritea te Ara

Hei whakamahi i nga whakamatautau Selenium i runga i te kaitirotiro, me matua whakauru e koe nga raihana tukutuku WebDriver e tika ana mo te kaitirotiro me nga ara tika kua whakatauhia.

Chrome Hei tautuhi i te huarahi ki te chromium ka taea te whakahaere i runga i te punaha MacOS, ka taea e koe te whakamahi:


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

Ka taea hoki e koe te whakarite i te huarahi ma te raupapa, kia tika ki te waehere:

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

Firefox - Geckodriver:

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

Tapa:

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

Internet Explorer:


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

Whakahoutanga Atekōkiri Pūtirotiro

I muri i te whakauru i a Selenium, i muri mai ko te whakaohooho i tetahi kaitarai tirotiro motuhake hei whakahaere i nga whakamatautau UI.

Ko nga whakamatautau Selenium kei te whakahaerehia ki runga i te waahanga kaiwhakamahi o tetahi tono ka hiahiatia he tirotiro hei mahi. Ka taea e taatau te tohu ko wai te kaitirotiro e hiahia ana maatau ki te whakahaere i o maatau whakamatautau ka whakatauhia te taraiwa tika.

Panui:Ka whakamahia noa nga whakamatautau Selenium mo Automation UI ka rere nga whakamatautau ki te kaitirotiro.

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();

Tapa

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

Kaitirotiro Ipurangi

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

Whakatere Pūtirotiro

Ka oti ana i a maatau tetahi huihuinga WebDriver kaha ka whakarewahia he tirotiro, ko te mea e whai ake nei ka hiahia maatau ki te haere ki tetahi whaarangi ka whakahaere i nga whakamatautau.

He maha nga tikanga whaihua a Selenium WebDriver hei taunekeneke me te kaitirotiro. Ka taea e taatau te whakahaere whakatere me te tiki korero mo te whaarangi o naianei.


Hei whakatere ki te URL e rua a maatau waahanga:

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

Te Hokinga Mai

Te Selenium back() tikanga whakarite i te paatene i te paatene o muri o te kaitirotiro.

driver.navigate().back();

Haere whakamua

Te Selenium forward() tikanga whakarite i te paatene i te paatene o mua o te kaitirotiro.

driver.navigate().forward();

Whakahou ana i te Wharangi

Te Selenium refresh() tikanga whakarite i te paatene i te paatene whakahou a te tirotiro.


driver.navigate().refresh();

Te Whiwhi Mōhiohio Wharangi O Naianei

Kei te Selenium hoki nga tikanga hei tiki url o naianei, taitara whaarangi me te wharangi whaarangi.

Tikina te URL o Naianei

Ka taea e taatau te tiki URL o te whaarangi o naianei:

driver.getCurrentUrl();

Tiki Taitara Wharangi

Ka taea te tiki taitara o te whaarangi o naianei:

driver.getTitle();

Tiki Puna Wharangi

Ka taea e taatau te tiki korero mo te whaarangi inaianei:

driver.getPageSource();

Te Katia me te Whakamutu i te Wahanga o te Tirotiro

Hei kati i te matapihi tirotiro o naianei:

driver.close(); Panui:Ka kati i te matapihi tirotiro kaore whakamutua te huihuinga a WebDriver.

Hei whakamutu i te huihuinga WebDriver i te mutunga o te whakamahinga whakamatautau:

driver.quit();

Ko te tikanga whakamutu ka:

  • Katia nga matapihi katoa e hono ana ki taua waahanga WebDriver
  • Patua te mahinga tirotiro
  • Patua te mahinga taraiwa


Nga kairapu Selenium - Me pehea te kimi i nga Huanga Paetukutuku

I mua i te kaha ki te taunekeneke me tetahi waahanga paetukutuku, me rapu e tatou te kaupapa ki te whaarangi html.

Ko tetahi o nga pukenga nui o te hangarau whakangao whakangao e mahi ana me a Selenium WebDriver, ko te kaha ki te whakamahi i nga tikanga tika hei kimi i nga waahanga o te whaarangi.

Hei tauira, mena ka hiahia paatohia te hono, whakaatuhia kua whakaatuhia mai he panui, kia paatohia ranei te paatene, me matua kimi e maatau te kaupapa.

Kei a Selenium WebDriver nga tikanga rereke hei kimi i nga waahanga o te whaarangi.

Ka whakaatuhia e te kairapu te mea e hiahia ana koe kia kite i tetahi whaarangi. I Java, ka hangaia e maatau he kaimana ma te whakamahi i te By akomanga.

Hei tauira, mena i hiahia matou ki te rapu h1 huānga taitara i runga i te whaarangi, ka tuhi maatau

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

Ranei, ki te hiahia matou ki te rapu i nga waahanga paratarafa katoa i runga i te whaarangi, ka whakamahia e matou

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

Na te tuhinga hono

Ma tenei tikanga e rapu nga mea hei whakaatu ma te kuputuhi tika e whakaatuhia ana. Ko tenei tikanga te kairapu e manakohia ana mo nga hononga i runga i te whaarangi.

Hei tauira, me kii kei konei taatau hono hono i te whaarangi:

Forgotten Password

Na, ka taea te hono ki te:

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

Na te waahanga hono hono

Ki te kore tatou e tino mohio ki nga kupu tika o te tuhinga hono engari e hiahia ana matou ki te rapu hononga hono ranei kei roto he kuputuhi i homai, ka taea e taatau te whakamahi

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

ranei

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

Kia tupato koe ki te whakamahi i findElement me tenei kairapu i te mea ka kitea etahi atu waahanga e rite ana te tuhi o te waahanga, na reira kaua tenei e whakamahia ki te rapu i tetahi waahanga noa iho. He pai ake te whakamahi ki te rapu i tetahi roopu o nga waahanga ma te whakamahi i te tikanga findElements

Na te huanga akomanga

Ka kitea nga waahanga e ai ki te uara o te huanga akomanga. Ka taea tenei te whakamahi mo nga waahanga noa he huanga akomanga, engari ehara i te kaiwhakauru pai ki te whakamahi me te findElement tikanga.

Ma te whakamahi i taua tauira i runga ake nei me te hononga, ko te hono 'Kupuhipa Kua wareware' kotahi akomanga CSS: btn ka taea te whakamahi hei kimi

Forgotten Password

Na, ka taea te hono ki te:

driver.findElement(By.className('btn')); Panui:Ka whakamahia te huanga akomanga hei whakariterite i nga whaarangi, no reira ka tupono ka rite tonu nga akomanga ki nga waahanga maha.

Na id

Na te id, ka kitea nga huanga e te uara o o raatau huanga id. Ko te hono i te tauira i runga ake nei he id e taea ana e taatau te whakamahi.

Forgotten Password

Na, ka taea te hono ki te:

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

Mena kei te waatea te huanga id, me whakamahi ko te whiringa tuatahi pai rawa atu.

Ma te ingoa

Rapua nga huanga i te uara o o raatau huanga ingoa. Te tikanga ka taea noa te rapu kimi ahua hanga hanga: , , , me .

I runga i te whaarangi takiuru angitu, he mara whakauru taau ka penei:

Ka taea e taatau te rapu i te mara imeera ma te ingoa ingoa whakauru

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

Ma te ingoa tohu

Ka kitea e tenei kairapu nga mea timatanga ma o raatau ingoa tohu HTML. I te mea he maha tonu nga whakamahinga tukurua o te nuinga o nga tohu, ehara i te mea pai ki te whakamahi i tenei tikanga ki te rapu i tetahi waahanga.

Ko te whakamahinga o te kimi i tetahi waahanga ma te ingoa tohu hei rapu i te upoko o te whaarangi, na te mea kotahi noa iho o enei:

Welcome to DevQA!

Ka taea e taatau te rapu i te mara taitara ma te ingoa tohu:

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

Na nga kaiawhina Css

Ka kimi i nga huanga ma te miihini o te W3 CSS Selector engine. He kaha te kairapu kaihuri CSS no te mea ka taea te whakamahi ki te kimi i tetahi waahanga o te whaarangi.

Forgotten Password

Ka taea e taatau te rapu i te mara imeera ma te ingoa ingoa whakauru

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

Anei, # tohu id o te waahanga. Ana ko te . he tohu ki te huanga akomanga o te huanga.

Hei tauira:

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

E pā ana:

Na XPath

Ko nga kairapu XPath te hunga whiriwhiri uaua rawa atu hei whakamahi. Me maarama ki te reo patai a XPath, no reira mena kaore koe e matatau ki taua reo paatai, ka uaua ki te rapu waahanga e whakamahi ana i nga paatai ​​XPath.

Tirohia te tauira whakamahinga o te XPath mo tenei HTML:

Change Password

Ka taea e taatau te rapu i te mara imeera ma te ingoa ingoa whakauru

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

Whakawhanaunga me nga Huinga Paetukutuku

Ka kitea ana e maatau tetahi waahanga i runga i te whaarangi, ka taea e taatau te taunekeneke ki a ia ma te whakamahi i nga momo tikanga e whakawhiwhia ana e te selenium.

He maha nga huarahi a Selenium WebDriver hei taunekeneke me nga waahanga paetukutuku penei i te paatene i nga paatene tuku me te whakauru tuhinga ki nga waahanga whakauru.

Ko te WebElement akomanga he maha nga tikanga ka taea e taatau ki te hono ki nga waahanga o te whaarangi. Ko nga mea noa ko:

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

Paatohia

Ko te click() ka whakamahia te tikanga hei paato i tetahi waahanga paetukutuku penei i te hononga hono te paatene ranei.

Tauira:

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

Maama

Ko te clear() tikanga whakawateatia te uara o te mara whakauru.

Aki:E taunaki ana kia whakamahia te . marama () tikanga i mua i te whakauru kuputuhi ki te waahanga whakauru.

Tauira:

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

SendKeys

Ka whakamahia te sendKeys() tikanga ki te whakauru i nga tohu ki roto i te pouaka mara whakauru.

Tauira:

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

Tauira - Whakakiihia he puka

Kei raro nei tetahi tauira mo te whakamahi i te Selenium ki te whakakii i tetahi 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();

Na kua oti ta maatau korero mo Selenium WebDriver, kua tae ki te waa ki te hanga i tetahi anga.



Hangaia he Anga Selenium

Akohia me pehea te hanga anga hianga mai i te wahanga.

Ko te waahanga tuatahi o te akoranga he taahiraa-i-te-ara ki te hanga i te anga WebDriver ki te whakamahi i te Java, Maven me te TestNG.

Ko te waahanga tuarua e arotahi ana ki te hanganga i nga whakamatautau selenium i runga i te Tauira Ahanoa Ahanui Wharangi.