Šioje pamokoje sužinosime, kaip elgtis su failų įkėlimu ir atsisiuntimu.
Failų įkėlimas
Šiame skyriuje kaip bandomąją programą naudosime http://demo.guru99.com/test/upload/. Ši svetainė leidžia bet kuriam lankytojui lengvai įkelti failus nereikalaujant jų užsiregistruoti.
Failai įkeliami į „WebDriver“, paprasčiausiai naudojant sendKeys () metodą, esantį failo pasirinkimo įvesties lauke, įveskite kelią į failą, kurį norite įkelti.
tvarkyti failo įkėlimo iššokantį langą seleno žiniatinklio tvarkyklėjeTarkime, kad norime įkelti failą „C: \ newhtml.html“. Mūsų „WebDriver“ kodas turėtų būti toks, kaip parodyta žemiau.
paketas newproject;importuoti org.openqa.selenium. *;importuoti org.openqa.selenium.firefox.FirefoxDriver;viešoji klasė PG9 {public static void main (String [] argumentuoja) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Eilutė baseUrl = "http://demo.guru99.com/test/upload/";„WebDriver“ tvarkyklė = nauja „FirefoxDriver“ ();vairuotojas.get (baseUrl);„WebElement“ uploadElement = driver.findElement (By.id ("uploadfile_0"));// įveskite failo kelią į failo pasirinkimo įvesties laukąuploadElement.sendKeys ("C: \\ newhtml.html");// pažymėkite žymimąjį laukelį „Aš sutinku su paslaugų teikimo sąlygomis“driver.findElement (By.id ("sąlygos")). spustelėkite ();// spustelėkite mygtuką „UploadFile“driver.findElement (By.name ("siųsti")). spustelėkite ();}}
Paleidę šį scenarijų turėtumėte sėkmingai įkelti failą ir turėtumėte gauti panašų pranešimą.
Įkeldami failus į „WebDriver“ nepamirškite šių dviejų dalykų
- Nereikia imituoti mygtuko „Naršyti“ paspaudimo. „WebDriver“ automatiškai įveda failo kelią į failo pasirinkimo teksto lauką elemento
- Nustatydami failo kelią savo „Java IDE“, naudokite tinkamą pabėgimo ženklą.
Failų atsisiuntimas
„WebDriver“ negali pasiekti naršyklių pateiktų dialogo langų Atsisiųsti, kai spustelėsite atsisiuntimo nuorodą ar mygtuką. Tačiau mes galime apeiti šiuos dialogo langus naudodami atskirą programą „wget“.
Kas yra „Wget“?
„Wget“ yra maža ir lengvai naudojama komandų eilutės programa, naudojama atsisiuntimams automatizuoti . Iš esmės mes pasieksime „Wget“ iš „WebDriver“ scenarijaus, kad atliktume atsisiuntimo procesą.
„Wget“ nustatymas
1 žingsnis: C diske sukurkite naują aplanką ir pavadinkite jį „Wget“.
Atsisiųskite wget.exe iš čia ir įdėkite jį į „Wget“ aplanką, kurį sukūrėte atlikdami aukščiau nurodytą veiksmą.
2 žingsnis: Atidarykite „Run“ paspausdami „Windows“ klavišą + „R“; įveskite „cmd ir spustelėkite gerai
Įveskite komandą "cd /", norėdami pereiti į šakninį katalogą
3 žingsnis: Norėdami įvesti komandą, įveskite komandą
cmd / c C: \\ Wget \\ wget.exe -PC: --no-check-certificate http://demo.guru99.com/selenium/msgr11us.exe
Panašu, kad yra problema įrašant į C diską.
4 žingsnis: Prieš vykdydami kodą naudodami „Selenium Webdriver“, turite derinti „wget“ klaidas komandinėje eilutėje. Šios klaidos išliks „Eclipse“ ir klaidų pranešimai nebus tokie informatyvūs. Geriausia pirmiausia pradėti dirbti naudojant komandinę eilutę. Jei jis veiks komandinėje eilutėje, jis tikrai veiks „Eclipse“.
Mūsų pavyzdyje, kaip parodyta 3 žingsnyje, yra problema įrašant į C diską. Pakeiskime atsisiuntimo vietą į D diską ir patikrinkime rezultatus.
cmd / c C: \\ Wget \\ wget.exe -PD: --no-check-certificate http://demo.guru99.com/selenium/msgr11us.exe
„Messenger“ sėkmingai atsisiųsta.
Prieš tęsdami toliau, nepamirškite ištrinti atsisiųsto failo
„WebDriver“ ir „Wget“ naudojimas
Šiame pavyzdyje mes naudosime „WebDriver“ ir „wget“, norėdami atsisiųsti populiarią pokalbių programinę įrangą, vadinamą „Yahoo Messenger“. Mūsų pagrindinis URL bus http://demo.guru99.com/test/yahoo.html.
1 žingsnis
Importuokite „java.io.IOException“ paketą, nes vėliau atlikdami 4 veiksmą turėsime sugauti IOException.
2 žingsnis
Norėdami gauti atsisiuntimo nuorodos reikšmę „href“ ir išsaugoti ją kaip „String“ kintamąjį, naudokite getAttribute (). Šiuo atveju kintamąjį pavadinome kaip „sourceLocation“.
3 žingsnis
Nustatykite „wget“ sintaksę naudodami šią komandą.
4 žingsnis
Pradėkite atsisiuntimo procesą paskambinę wget iš mūsų „WebDriver“ kodo.
Apibendrinant viską, jūsų „WebDriver“ kodas gali atrodyti taip, kaip parodyta žemiau.
paketas newproject;importuoti java.io.IOException;importuoti org.openqa.selenium. *;importuoti org.openqa.selenium.firefox.FirefoxDriver;viešoji klasė PG8 {public static void main (String [] argumentuoja) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Eilutė baseUrl = "http://demo.guru99.com/test/yahoo.html";„WebDriver“ tvarkyklė = nauja „FirefoxDriver“ ();vairuotojas.get (baseUrl);„WebElement“ atsisiuntimo mygtukas = driver.findElement (Autorius.id („Messenger-Download“));Eilučių šaltinisLocation = downloadButton.getAttribute ("href");Eilutė wget_command = "cmd / c C: \\ Wget \\ wget.exe -PD: --no-check-certificate" + sourceLocation;bandyti {Procesas exec = Runtime.getRuntime (). Exec (wget_command);int exitVal = exec.waitFor ();System.out.println ("Išėjimo vertė: + exitVal);} sugauti (InterruptedException | IOException ex) {System.out.println (ex.toString ());}vairuotojas.uždaryti ();}}
Atlikę šį kodą, patikrinkite savo D diską ir patikrinkite, ar ten sėkmingai atsisiųsta „Yahoo Messenger“ diegimo programa.
Santrauka
- Failai įkeliami į „WebDriver“, paprasčiausiai naudojant sendKeys () metodą, esantį failo pasirinkimo įvesties lauke, įveskite kelią į failą, kurį norite įkelti.
- „WebDriver“ negali savarankiškai automatizuoti failų atsisiuntimo.
- Lengviausias būdas atsisiųsti failus naudojant „WebDriver“ yra naudoti „Wget“.