Kuinka ladata & Lataa tiedosto Selenium Webdriver -sovelluksella

Sisällysluettelo:

Anonim

Tässä opetusohjelmassa opimme kuinka käsitellä tiedostojen lataamista ja lataamista.

Tiedostojen lataaminen

Tässä osiossa käytämme testisovelluksemme http://demo.guru99.com/test/upload/. Tämä sivusto antaa kävijöille mahdollisuuden ladata tiedostoja helposti ilman heidän rekisteröitymistä.

Tiedostojen lataaminen WebDriveriin tapahtuu yksinkertaisesti käyttämällä sendKeys () -menetelmää tiedostonvalintakentässä syöttääksesi polun ladattavaan tiedostoon.

Käsittele tiedoston latausikkuna Selenium Webdriverissa
käsittele tiedoston latausikkunaa seleenin Web-ohjaimessa

Oletetaan, että haluamme ladata tiedoston "C: \ newhtml.html". WebDriver-koodin tulee olla samanlainen kuin alla.

paketti uusi projekti;tuonti org.openqa.selenium. *;tuo org.openqa.selenium.firefox.FirefoxDriver;julkinen luokka PG9 {public staattinen void main (String [] argumentoi) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Merkkijono baseUrl = "http://demo.guru99.com/test/upload/";WebDriver-ohjain = uusi FirefoxDriver ();driver.get (baseUrl);WebElement uploadElement = driver.findElement (By.id ("uploadfile_0"));// kirjoita tiedostopolku tiedostovalinnan syöttökenttäänuploadElement.sendKeys ("C: \\ newhtml.html");// valitse Hyväksyn käyttöehdot -valintaruutudriver.findElement (By.id ("ehdot")). napsauta ();// napsauta "UploadFile" -painikettadriver.findElement (By.name ("lähetä")). napsauta ();}}

Kun olet suorittanut tämän komentosarjan, sinun pitäisi pystyä lataamaan tiedosto onnistuneesti ja saat samanlaisen viestin.

Muista noudattaa kahta asiaa, kun lataat tiedostoja WebDriveriin

  1. "Selaa" -painikkeen napsautusta ei tarvitse simuloida. WebDriver syöttää tiedostopolun automaattisesti -elementin tiedostovalinta-tekstiruutuun
  2. Kun asetat tiedostopolun Java IDE -käyttöjärjestelmässäsi, käytä oikeaa pakomerkkiä takaviivaan.

Tiedostojen lataaminen

WebDriverilla ei ole mahdollisuutta käyttää selainten latausvalintaikkunoita, kun napsautat latauslinkkiä tai -painiketta. Voimme kuitenkin ohittaa nämä valintaikkunat käyttämällä erillistä ohjelmaa nimeltä "wget".

Mikä on Wget?

Wget on pieni ja helppokäyttöinen komentoriviohjelma, jota käytetään latausten automatisointiin . Pohjimmiltaan pääsemme Wgetiin WebDriver-komentosarjastamme latausprosessin suorittamiseksi.

Wgetin asettaminen

Vaihe 1: Luo C-asemalle uusi kansio ja nimeä se nimellä "Wget".

Lataa wget.exe täältä ja aseta se yllä olevasta vaiheesta luomallesi Wget-kansioon.

Vaihe 2: Avaa Suorita painamalla Windows-näppäintä + "R"; kirjoita "cmd ja napsauta ok

Kirjoita komento "cd /" siirtyäksesi juurihakemistoon

Vaihe 3: Kirjoita komento tarkistaaksesi, toimiiko annettu asennus

cmd / c C: \\ Wget \\ wget.exe -PC: --no-check-certificate http://demo.guru99.com/selenium/msgr11us.exe

Näyttää olevan ongelma kirjoittamalla C-asemaan.

Vaihe 4: Sinun on selvitettävä wget-virheet komentoriviltä, ​​ennen kuin suoritat koodin Selenium Webdriverilla. Nämä virheet jatkuvat Eclipse-sovelluksessa eivätkä virheilmoitukset ole yhtä informatiivisia. Parasta saada ensin wget toimimaan komentorivillä. Jos se toimii komentorivillä, se toimii varmasti Eclipse-ohjelmassa.

Esimerkissämme, kuten vaiheessa 3 näkyy, C-asemaan kirjoitettaessa on ongelma. Vaihdetaan lataussijaintiin D-asema ja tarkistetaan tulokset.

cmd / c C: \\ Wget \\ wget.exe -PD: --no-check-certificate http://demo.guru99.com/selenium/msgr11us.exe

Messenger ladattiin onnistuneesti.

Ennen kuin jatkat, älä unohda poistaa ladattua tiedostoa

WebDriverin ja Wgetin käyttäminen

Seuraavassa esimerkissä käytämme WebDriveria ja wgetiä lataamaan suositun chat-ohjelmiston nimeltä Yahoo Messenger. Perus-URL-osoitteemme on http://demo.guru99.com/test/yahoo.html.

Vaihe 1

Tuo "java.io.IOException" -paketti, koska joudumme saamaan IOExceptionin myöhemmin vaiheessa 4.

Vaihe 2

Käytä getAttribute () -toimintoa ladataksesi linkin "href" -arvon ja tallentaaksesi sen merkkijonomuuttujana. Tässä tapauksessa nimitimme muuttujan nimellä "sourceLocation".

Vaihe 3

Määritä wgetin syntaksit seuraavalla komennolla.

Vaihe 4

Aloita latausprosessi soittamalla wget WebDriver-koodistamme.

Kaiken kaikkiaan WebDriver-koodisi saattaa näyttää alla olevalta.

paketti uusi projekti;tuo java.io.IOException;tuonti org.openqa.selenium. *;tuo org.openqa.selenium.firefox.FirefoxDriver;julkinen luokka PG8 {public staattinen void main (String [] argumentoi) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Merkkijono baseUrl = "http://demo.guru99.com/test/yahoo.html";WebDriver-ohjain = uusi FirefoxDriver ();driver.get (baseUrl);WebElement downloadButton = driver.findElement (Tekijä.id ("messenger-download"));Merkkijono sourceLocation = downloadButton.getAttribute ("href");Merkkijono wget_command = "cmd / c C: \\ Wget \\ wget.exe -PD: --no-check-certificate" + sourceLocation;yrittää {Prosessi exec = Runtime.getRuntime (). Exec (wget_command);int exitVal = exec.waitFor ();System.out.println ("Poistumisarvo: + exitVal);} catch (InterruptedException | IOException ex) {System.out.println (exString ());}kuljettaja.sulje ();}}

Kun olet suorittanut tämän koodin, tarkista D-asema ja varmista, että Yahoo Messenger -asennusohjelma ladattiin sinne onnistuneesti.

Yhteenveto

  • Tiedostojen lataaminen WebDriveriin tapahtuu yksinkertaisesti käyttämällä sendKeys () -menetelmää tiedostonvalintakentässä syöttääksesi polun ladattavaan tiedostoon.
  • WebDriver ei voi automatisoida tiedostojen lataamista yksin.
  • Helpoin tapa ladata tiedostoja WebDriverin avulla on käyttää Wgetiä.