Selles õpetuses õpime, kuidas failide üleslaadimise ja allalaadimisega hakkama saada.
Failide üleslaadimine
Selle jaotise jaoks kasutame testirakenduseks veebisaiti http://demo.guru99.com/test/upload/. See sait võimaldab igal külastajal hõlpsalt faile üles laadida ilma, et ta peaks end registreerima.
Failide üleslaadimine WebDriveris toimub lihtsalt faili valimise sisendväljal meetodi sendKeys () abil, et sisestada üleslaaditava faili tee.

Oletame, et soovime üles laadida faili "C: \ newhtml.html". Meie WebDriveri kood peaks olema selline, nagu allpool näidatud.
pakett uusprojekt;import org.openqa.selenium. *;import org.openqa.selenium.firefox.FirefoxDriver;avalik klass PG9 {public staatiline void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");String baseUrl = "http://demo.guru99.com/test/upload/";WebDriveri draiver = uus FirefoxDriver ();draiver.get (baseUrl);WebElement uploadElement = driver.findElement (By.id ("uploadfile_0"));// sisestage faili tee failivaliku sisendväljaleuploadElement.sendKeys ("C: \\ newhtml.html");// märkige ruut "Nõustun teenusetingimustega"driver.findElement (By.id ("tingimused")). klõpsake ();// klõpsake nuppu "UploadFile"driver.findElement (By.name ("saatmine")). klõpsake ();}}
Pärast selle skripti käivitamist peaksite saama faili edukalt üles laadida ja peaksite saama sarnase sõnumi.
Pidage meeles, et peate WebDriveri failide üleslaadimisel järgima kahte asja
- Nupu "Sirvi" klõpsamist pole vaja simuleerida. WebDriver sisestab faili tee automaatselt elemendi failivaliku tekstiväljale
- Kui määrate faili tee oma Java IDE-s, kasutage seljakriipsu jaoks sobivat põgenemismärki.
Failide allalaadimine
Kui klõpsate allalaadimislingil või nupul, pole WebDriveril juurdepääsu brauserite kuvatavatele dialoogiboksidele Allalaadimine. Siiski võime neist dialoogiboksidest mööda hiilida, kasutades selleks eraldi programmi nimega "wget".
Mis on Wget?
Wget on väike ja hõlpsasti kasutatav käsureaprogramm, mida kasutatakse allalaadimiste automatiseerimiseks . Põhimõtteliselt pääseme Wgetile alla oma WebDriveri skripti kaudu, et allalaadimisprotsess läbi viia.
Wgeti seadistamine
1. samm: looge oma C-draivis uus kaust ja nimetage see nimeks "Wget".
Laadige siit alla wget.exe ja asetage see ülaltoodud sammust loodud kausta Wget.
2. samm: avage Run, vajutades Windowsi klahvi + "R"; tippige "cmd ja klõpsake nuppu OK
Tippige juurkataloogi liikumiseks käsk "cd /"
3. samm: sisestage käsk, et kontrollida, kas antud seadistus töötab
cmd / c C: \\ Wget \\ wget.exe -PC: --no-check-certificate http://demo.guru99.com/selenium/msgr11us.exe
Tundub, et C-draivi kirjutamisel on probleem.
4. samm: enne koodi käivitamist Seleeni veebidraiveri abil peate siluma wgeti tõrked käsureal. Need vead püsivad Eclipses ja veateated ei ole nii informatiivsed. Parim on kõigepealt wget tööle saada käsurea abil. Kui see töötab käsureal, töötab see kindlasti ka Eclipse'is.
Nagu näite 3. etapis on meie näites probleem C-draivi kirjutamisel. Muutkem allalaadimiskoht D-draiviks ja kontrollime tulemusi.
cmd / c C: \\ Wget \\ wget.exe -PD: --no-check-certificate http://demo.guru99.com/selenium/msgr11us.exe
Messengeri allalaadimine õnnestus.
Enne jätkamist ärge unustage allalaaditud fail kustutada
WebDriveri ja Wgeti kasutamine
Järgmises näites kasutame WebDriveri ja wgetit populaarse vestlustarkvara nimega Yahoo Messenger. Meie põhi-URL on http://demo.guru99.com/test/yahoo.html.
Samm 1
Importige pakett "java.io.IOException", kuna peame tabama IOExceptioni 4. etapis hiljem.
2. samm
Kasutage allalaadimislingi "href" väärtuse saamiseks ja muutujana String salvestamiseks getAttribute (). Sel juhul nimetasime muutujat allikaks "sourceLocation".
3. samm
Seadistage wgeti süntaks järgmise käsu abil.
4. samm
Alustage allalaadimisprotsessi, helistades meie WebDriveri koodilt wget.
Selle kõige kokkuvõtteks võib teie WebDriveri kood välja näha selline, nagu allpool näidatud.
pakett uusprojekt;import java.io.IOException;import org.openqa.selenium. *;import org.openqa.selenium.firefox.FirefoxDriver;avalik klass PG8 {public staatiline void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");String baseUrl = "http://demo.guru99.com/test/yahoo.html";WebDriveri draiver = uus FirefoxDriver ();draiver.get (baseUrl);WebElement downloadButton = driver.findElement (Autor.id ("messenger-download"));String sourceLocation = downloadButton.getAttribute ("href");String wget_command = "cmd / c C: \\ Wget \\ wget.exe -PD: --no-check-certificate" + sourceLocation;proovige {Protsess exec = Runtime.getRuntime (). Exec (wget_command);int exitVal = exec.waitFor ();System.out.println ("Exit value: + exitVal);} saak (InterruptedException | IOException ex) {System.out.println (nt.String ());}juht.sule ();}}
Pärast selle koodi käivitamist kontrollige oma D-draivi ja veenduge, et Yahoo Messengeri installiprogramm on sealt edukalt alla laaditud.
Kokkuvõte
- Failide üleslaadimine WebDriveris toimub lihtsalt faili valimise sisendväljal meetodi sendKeys () abil, et sisestada üleslaaditava faili tee.
- WebDriver ei saa ise failide allalaadimist automatiseerida.
- Lihtsaim viis failide allalaadimiseks WebDriveri abil on Wget.