Kā augšupielādēt & Lejupielādējiet failu, izmantojot Selenium Webdriver

Satura rādītājs:

Anonim

Šajā apmācībā mēs uzzināsim, kā rīkoties ar failu augšupielādi un lejupielādi.

Failu augšupielāde

Šajā sadaļā kā testa lietojumprogrammu izmantosim vietni http://demo.guru99.com/test/upload/. Šī vietne ļauj jebkuram apmeklētājam augšupielādēt failus, nepieprasot viņiem reģistrēties.

Failu augšupielāde WebDriver tiek veikta, vienkārši izmantojot metodi sendKeys () faila atlases ievades laukā, lai ievadītu augšupielādējamā faila ceļu.

Rīkojieties ar faila augšupielādes uznirstošo logu Selenium Webdriver
rīkoties ar faila augšupielādes uznirstošo lapu selēna tīmekļa draiverī

Pieņemsim, ka mēs vēlamies augšupielādēt failu "C: \ newhtml.html". Mūsu WebDriver kodam jābūt līdzīgam zemāk redzamajam.

pakete newproject;importa org.openqa.selenium. *;importēt org.openqa.selenium.firefox.FirefoxDriver;publiskā klase PG9 {public static void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");String baseUrl = "http://demo.guru99.com/test/upload/";WebDriver draiveris = jauns FirefoxDriver ();draiveris.get (baseUrl);WebElement uploadElement = driver.findElement (By.id ("uploadfile_0"));// ievadiet faila ceļu faila atlases ievades laukāuploadElement.sendKeys ("C: \\ newhtml.html");// atzīmējiet izvēles rūtiņu "Es piekrītu pakalpojumu sniegšanas noteikumiem"driver.findElement (By.id ("noteikumi")). noklikšķiniet ();// noklikšķiniet uz pogas "UploadFile"driver.findElement (By.name ("nosūtīt")). noklikšķiniet ();}}

Pēc šī skripta palaišanas jums vajadzētu būt iespējai veiksmīgi augšupielādēt failu, un jums vajadzētu saņemt līdzīgu ziņojumu.

Augšupielādējot failus WebDriver, atcerieties šādas divas lietas

  1. Nav nepieciešams simulēt pogas "Pārlūkot" noklikšķināšanu. WebDriver automātiski ievada faila ceļu faila izvēles tekstlodziņā
  2. Iestatot faila ceļu Java IDE, aizmugures slīpsvītrai izmantojiet atbilstošo evakuācijas rakstzīmi.

Failu lejupielāde

WebDriver nevar piekļūt pārlūkprogrammu parādītajiem dialoglodziņiem Lejupielādēt, noklikšķinot uz lejupielādes saites vai pogas. Tomēr mēs varam apiet šos dialoglodziņus, izmantojot atsevišķu programmu ar nosaukumu "wget".

Kas ir Wget?

Wget ir maza un viegli lietojama komandrindas programma, ko izmanto lejupielāžu automatizēšanai . Būtībā mēs piekļūsim Wget no mūsu WebDriver skripta, lai veiktu lejupielādes procesu.

Wget iestatīšana

1. solis: C diskā izveidojiet jaunu mapi un nosauciet to kā “Wget”.

Lejupielādējiet wget.exe no šejienes un ievietojiet to Wget mapē, kuru izveidojāt, veicot iepriekš minēto darbību.

2. solis: Atveriet Run, nospiežot Windows taustiņu + "R"; ierakstiet "cmd un noklikšķiniet uz Labi

Ierakstiet komandu "cd /", lai pārietu uz saknes direktoriju

3. solis: ierakstiet komandu, lai pārbaudītu, vai dotā iestatīšana darbojas

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

Šķiet, ka problēma ir ierakstīt C diskā.

4. solis: Pirms koda izpildes, izmantojot Selenium Webdriver, komandrindā ir jāatlabo wget kļūdas. Šīs kļūdas turpinās Eclipse, un kļūdu ziņojumi nebūs tik informatīvi. Vislabāk vispirms sākt darboties, izmantojot komandrindu. Ja tas darbojas komandrindā, tas noteikti darbosies arī Eclipse.

Mūsu piemērā, kā parādīts 3. solī, ir problēma, ierakstot C diskā. Mainīsim lejupielādes vietu uz D disku un pārbaudīsim rezultātus.

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

Messenger tika veiksmīgi lejupielādēts.

Pirms turpināt darbu, neaizmirstiet izdzēst lejupielādēto failu

Izmantojot WebDriver un Wget

Šajā piemērā mēs izmantosim WebDriver un wget, lai lejupielādētu populāru tērzēšanas programmatūru ar nosaukumu Yahoo Messenger. Mūsu bāzes URL ir http://demo.guru99.com/test/yahoo.html.

1. solis

Importējiet paketi "java.io.IOException", jo vēlāk 4. darbībā mums būs jānoķer IOException.

2. solis

Izmantojiet getAttribute (), lai iegūtu lejupielādes saites "href" vērtību un saglabātu to kā virknes mainīgo. Šajā gadījumā mainīgo mēs nosaucām par "sourceLocation".

3. solis

Iestatiet wget sintaksi, izmantojot šādu komandu.

4. solis

Sāciet lejupielādes procesu, zvanot wget no mūsu WebDriver koda.

Apkopojot visu, jūsu WebDriver kods varētu izskatīties kā parādīts zemāk.

pakete newproject;importēt java.io.IOException;importa org.openqa.selenium. *;importēt org.openqa.selenium.firefox.FirefoxDriver;publiskā klase PG8 {public static void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");String baseUrl = "http://demo.guru99.com/test/yahoo.html";WebDriver draiveris = jauns FirefoxDriver ();draiveris.get (baseUrl);WebElement downloadButton = driver.findElement (Autors:.id ("Messenger-download"));String sourceLocation = downloadButton.getAttribute ("href");Virkne wget_command = "cmd / c C: \\ Wget \\ wget.exe -PD: --no-check-certificate" + sourceLocation;izmēģināt {Process exec = Runtime.getRuntime (). Exec (wget_command);int exitVal = exec.waitFor ();System.out.println ("Izejas vērtība: + exitVal);} catch (InterruptedException | IOException ex) {System.out.println (ex.toString ());}vadītājs.slēgt ();}}

Pēc šī koda izpildīšanas pārbaudiet savu D disku un pārliecinieties, vai Yahoo Messenger instalētājs tur ir veiksmīgi lejupielādēts.

Kopsavilkums

  • Failu augšupielāde WebDriver tiek veikta, vienkārši izmantojot metodi sendKeys () faila atlases ievades laukā, lai ievadītu augšupielādējamā faila ceļu.
  • WebDriver nevar automātiski automatizēt failu lejupielādi.
  • Vieglākais veids, kā lejupielādēt failus, izmantojot WebDriver, ir Wget izmantošana.