how upload file using selenium webdriver 3 methods
Spoznajte različne metode za obdelavo datotek v programu Selenium s primeri kode:
Nalaganje datotek se izvede, kadar je treba na določeno spletno mesto naložiti katero koli datoteko ali dokument, kot so obrazci, strani za registracijo, naloževalci dokumentov itd.
Nalaganje datoteke vključuje postopek brskanja po datoteki z želenega mesta ali iz računalnika in nalaganje na spletno mesto.
=> Tukaj preverite VSE vadnice za selen
Kaj se boste naučili:
Datoteka za prenos selena
Nalaganje datotek v programu Selenium lahko olajša človeško delo in to preprosto z uporabo sendKeys () metoda. Po nalaganju datoteke se prikaže sporočilo, ki potrjuje, ali je datoteka uspešno naložena. Takšnih načinov avtomatizacije za nalaganje datotek je še veliko več.
Teme, ki jih pokriva ta vadnica, vključujejo nalaganje datotek v HTML, metode za obdelavo nalaganja datotek v seleniju (ki bi vključevale metode, in sicer: z uporabo sendKeys, nato z uporabo razreda AutoIT in Robot).
V tej vadnici je pojasnjena tudi izvedba kode za obdelavo nalaganja datotek z uporabo teh metod v programu Selenium, nato pa bomo videli nekaj primerov, ko se nalaganje datotek izvaja s pomočjo programa Selenium.
Prenos datoteke v HTML
Spodnja izvedba kode pojasnjuje postopek nalaganja datotek na strani HTML. Koda HTML prikazuje, kako lahko izvedete postopek nalaganja, tako da najprej kliknete na Izberite datoteko za brskanje po datoteki, ki jo želite naložiti, in nato kliknite Naloži datoteko možnost, po kateri lahko vidimo, da je datoteka uspešno naložena.

Zgornja slika je sestavljena iz strani, ki jo je ustvaril HTML, spodaj pa je koda HTML za isto. Oglejmo si na hitro kodo HTML.
File Upload File Uploading (Upload the image file)
Select file to upload: Tako ob nalaganju želene datoteke s klikom na Naloži datoteko možnost se prikaže spodnja stran (slika) (tj. prikazana je naložena slikovna datoteka), ki potrjuje, da je bila datoteka, izbrana za nalaganje, uspešno naložena.

(slika vir )
Metode za nalaganje datotek v selenu
Oglejmo si nekaj načinov za ravnanje z nalaganjem datotek in tudi izvajanje kode za iste.
Datoteke, ki se naložijo v selenu, lahko izvedete s spodnjimi metodami:
- Uporaba metode sendKeys
- Uporaba orodja AutoIT
- S pomočjo Robot Class
# 1) Uporaba metode sendKeys
Najosnovnejši način nalaganja datotek v programu Selenium je metoda sendKeys. Je vgrajena funkcija za nalaganje datotek v programu Selenium.
Sintaksa je naslednja:
WebElement upload_file = driver.findElement(By.xpath('//input(@id='file_up')')); upload_file.sendKeys('C:/Users/Sonali/Desktop/upload.png');Razumejmo izvajanje kode za zgornjo tehniko:
Za nalaganje datotek s to metodo moramo najprej pregledati element ali gumb, ki je predviden za nalaganje datotek, nato pa s pomočjo sendKeys pobrskati po poti, kjer je shranjena dejanska datoteka, ki jo je treba naložiti. Pot skupaj z imenom datoteke postavite v sendKeys, tako da se program premakne na omenjeno pot, da prenese datoteko.
Po tem kliknite gumb shrani ali pošlji in datoteka bo videti naložena. Včasih dobimo tudi sporočilo, da se datoteka uspešno naloži.
Izvajanje kode z uporabo metode sendKeys:
najboljša podjetja za spletno gostovanje v Indiji
package SeleniumPrograms; import java.io.IOException; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class FileUpload { public static void main(String() args) throws IOException, InterruptedException { // TODO Auto-generated method stub WebDriver d = new FirefoxDriver(); d.manage().window().maximize(); //always write wait code after this d.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); //for page load d.get('https://www.monsterindia.com/seeker/registration'); //Testing webpage d.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); //for Implicit wait JavascriptExecutor js = (JavascriptExecutor)d; //Scrolling using JavascriptExecutor js.executeScript('window.scrollBy(0,380)');//Scroll Down to file upload button (+ve) Thread.sleep(3000); // FILE UPLOADING USING SENDKEYS .... WebElement browse = d.findElement(By.xpath('//input(@id='file-upload')')); //click on ‘Choose file’ to upload the desired file browse.sendKeys('C:\Users\Chait\Desktop\Files\Job Specification.txt'); //Uploading the file using sendKeys System.out.println('File is Uploaded Successfully'); } }Za nalaganje datotek z možnostjo sendKeys moramo za uspešno nalaganje zahtevane datoteke preprosto uporabiti vgrajeno metodo sendKeys.

To je rezultat zgornje kode (za Monster.com ), kjer lahko vidimo sporočilo, prikazano kot: »Datoteka je bila uspešno naložena« o nalaganju datoteke v spletni gonilnik selena z uporabo metode sendKeys.
# 2) Uporaba AutoIT
AutoIT je brezplačna programska oprema in odprtokodno orodje za avtomatizacijo operacijskega sistema Windows. Napisan je v skriptnem računalniškem jeziku BASIC za avtomatizacijo uporabniškega vmesnika Microsoft Windows. Simulira katero koli kombinacijo pritiskov tipk, premikov miške in manipulacije z nadzornim sistemom Windows.
katero orodje etl je najboljše na trgu
Koraki za prenos in namestitev orodja AutoIT:
- Odprto povezava
- Pojdite na AUTOIT -> PRENOSI. Prenesite najnovejši AutoIT.
- Nadaljujte z namestitvijo in nastavitvijo AutoIT (naslednji -> strinjam se -> 32/64 bitna izbira -> izbira mesta namestitve datoteke -> Dokončaj.
- Obstajata 2 nastavitveni datoteki: a) Različica AutoIt 3 in b) SciTE auto 3.
- Po končani namestitvi odprite urejevalnik AutoIT.
- Pojdite na mesto, kjer se shranjujejo namestitvene datoteke, kliknite datoteko ‘SciTE.exe’ in odpre se urejevalnik AutoIT. Oglejte si spodnji posnetek zaslona urejevalnika AutoIT.
AutoIT_Editor:

Zdaj pa na kratko razumemo kako uporabljati to orodje:
- Odprite urejevalnik AutoIT.
- V urejevalnik AutoIT moramo napisati preprosto kodo, potrebno za nalaganje datotek (ime datoteke, ki jo želite naložiti, bo navedeno v kodi).
- Zdaj zaprite urejevalnik in z desno miškino tipko kliknite nanj, videli boste možnost prevajanja skripta. Izberite možnost prevajanja skripta (x64) za 64-bitno napravo in pojdite na skript prevajanja (x86) za 32-bitno napravo.
- Takoj ko je zgornji korak zaključen, se ustvari datoteka .exe, ki bo omenjena v naši kodi za mrk selena. Po sestavi, kot je prikazano na spodnji sliki ‘Fileupload.exe’ datoteka se ustvari. Zdaj lahko to datoteko uporabimo v skriptu spletnega gonilnika Selenium.
Shranjene_datoteke:

Spodnja slika nam pomaga razumeti, kako se datoteka, ki jo je treba naložiti, tj. Form.csv, naloži z izvajanjem skripta selenium eclipse, ki zažene datoteko fileupload.exe.
>> Obiščite to strani za več podrobnosti o AutoIT.

Izvedbo te metode bomo videli kasneje v tej vadnici.
Prednosti AutoIT:
- AutoIT je odprtokodno orodje, za katerega nam ni treba plačati.
- Majhne samostojne izvedljive datoteke je mogoče ustvariti s pomočjo AutoIT.
- Podpira skripte za enostavno snemanje ali predvajanje.
- Kodo lahko enostavno odpravimo z ukaz za pisanje konzole .
- Ima možnost ustvarjanja različnih GUI-jev in prepozna skoraj vse osnovne kontrolnike sistema Windows.
- Je preprost in uporabniku prijazen.
Slabosti AutoIT:
- Deluje samo v operacijskem sistemu Windows
- Ker je znanje o temeljnih načelih kodiranja nujno, se izkaže za odlično orodje za profesionalce, za začetnike pa je lahko nekoliko zapleteno.
- AutoIT za zdaj nima na voljo podpore za Java.
- Uporabniki morajo uvoziti ločene knjižnice, medtem ko uporabljajo različne vnaprej določene funkcije pripomočkov.
Zdaj pa pojdimo na izvedbeno kodo nalaganja datotek z uporabo AutoIT:
Tu bomo videli, kako lahko obvladujemo nalaganje datotek z uporabo AutoIT v programu Selenium. Za to si oglejmo primer spletnega mesta OrangeHRM.
Izvedba kode za obdelavo nalaganja datotek v seleniju s pomočjo AutoIT:
package SeleniumPrograms; import java.io.IOException; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; public class FileUpload { public static void main(String() args) throws IOException, InterruptedException { // TODO Auto-generated method stub WebDriver d = new FirefoxDriver(); d.manage().window().maximize(); d.manage().timeouts().pageLoadTimeout(10, TimeUnit.SECONDS); // for page load d.get(“https://opensource-demo.orangehrmlive.com/“); // Testing webpage d.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); // for Implicit wait WebElement uname = d.findElement(By.id('txtUsername')); // Username.........ID uname.sendKeys('Admin'); WebElement pwd = d.findElement(By.name('txtPassword')); // Password.........NAME pwd.sendKeys('admin123'); WebElement loginb = d.findElement(By.xpath('//input(@id='btnLogin')')); loginb.click(); // Loginbutton......XPATH WebElement pim = d.findElement(By.id('menu_pim_viewPimModule')); pim.click(); // Admin tab-PIM WebElement config = d.findElement(By.id('menu_pim_Configuration')); config.click(); //Configuration tab WebElement data_imp = d.findElement(By.partialLinkText('Data ')); data_imp.click(); //Data Import tab.....PARTIALLINKT // UPLOADING FILE USING AutoIT.... WebElement browser = d.findElement(By.xpath('//input(@id='pimCsvImport_csvFile')')); //Browse button browser.click(); System.out.println(“1”); Runtime.getRuntime().exec('C:\Users\Chait\Desktop\autoit\fileupload.exe'); System.out.println('2'); Thread.sleep(3000); WebElement upload = d.findElement(By.id('btnSave')); //Upload button upload.click(); System.out.println('3'); System.out.println('File Uploaded Successfully'); // Confirmation message } } Kot je razvidno iz zgornje kode, je naslednja vrstica zelo pomembna, saj prikazuje uporabo funkcije AutoIT:
Runtime.getRuntime (). Exec (»C: \ Users \ Chait \ Desktop \ autoit \ fileupload.exe«);
Tukaj,
- Izvajanje : Skriptu omogoča povezavo z okoljem, v katerem se skript izvaja.
- getRuntime (): Uporablja se za pridobitev trenutnega časa izvajanja, povezanega s postopkom.
- exec (): Izvede skript AutoIT (tukaj je fileupload.exe).
Ko program zažene to vrstico, gre skozi datoteko fileupload.exe, kjer se izvede koda AutoIT, kot je prikazano spodaj:
ControlFocus('File Upload','','Edit1') ControlSetText('File Upload','','Edit1','C:UsersChaitDesktopautoitdata_file.csv') ControlClick('File Upload','','Button1') Tukaj,
- ControlFocus: Ta metoda nastavi vhodno žarišče na besedilno polje »ime datoteke«.
- ControlSetText: Ta metoda definira pot datoteke. Datoteka, ki jo bomo naložili v besedilno polje 'ime datoteke' - njena pot je izsledena.
- ControlClick: Ta metoda se uporablja za klik gumba ‘Odpri’ v oknu programa za nalaganje datotek.
Izhod za zgornjo kodo je prikazan spodaj:

(slika vir )
# 3) S pomočjo robota
Roboti, kot jih poznamo, pomagajo pri upravljanju različnih dejavnosti, kot so izvajanje nekaterih nalog, upravljanje funkcij tipkovnice, funkcij miške in mnogih drugih. Tu bomo razumeli nekatere funkcije, ki so v pomoč pri nadzoru tipkovnice in miške med preskušanjem aplikacije Selen .
Ključni dogodki ali metode za izvajanje Robotskega razreda
Pri izvedbi razreda Robot obstaja nekaj metod za izvajanje testnih skriptov.
Ti so omenjeni spodaj:
- Pritisnite tipko (): Ta metoda se pokliče, ko želimo pritisniti katero koli tipko.
-
- Primer: robot.keyPress (KeyEvent. UK_ENTER );
- KeyRelease (): Ta metoda se uporablja za sprostitev pritisnjene tipke.
- Primer: robot.keyRelease (KeyEvent. UK_ENTER );
- MouseMove (): Uporablja se, kadar je treba kazalec miške premakniti čez koordinati „X“ in „Y“.
- Primer: robot.mouseMove ( koordinate.get.X () , координати.get.Y () );
- MousePress (): Ta metoda se pokliče, ko želimo pritisniti levi gumb miške.
- Primer: robot.mousePress (InputEvent. GUMB_MASKA );
- Sprostitev miške (): Ta metoda se uporablja za sprostitev pritisnjenega gumba miške.
- Primer: robot.mouseRelease (InputEvent. BUTTON_DOWN_MASK );
Prednosti razreda robotov
- Nalaganje datotek z uporabo robota je enostavno.
- Upravlja funkcije tipkovnice in miške.
- Možno je tudi ravnanje s pojavnimi okni.
Slabosti razreda robotov
- Dogodek tipkovnice ali miške bi deloval samo na trenutnem primerku okna.
- Med izvajanjem dogodka robota, če se izvajanje kode premakne v drugo okno, dogodek miške ali tipkovnice še vedno ostane v prejšnjem oknu.
- Preklapljanje med različnimi okni ni enostavno.
Implementacija kode za nalaganje datotek z uporabo Robot Class:
qa vprašanja za intervju za sveže
Za to bomo upoštevali primer Grammarly.com Spletna stran. Spodaj je izvedbena koda za obdelavo nalaganja datotek v programu Selenium z uporabo razreda Robot.
package SeleniumPrograms; import java.awt.AWTException; import java.awt.Toolkit; import java.awt.datatransfer.StringSelection; import java.util.concurrent.TimeUnit; import java.awt.Robot; import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.firefox.FirefoxDriver; import com.sun.glass.events.KeyEvent; public class FileUpload_Robo { public static void main(String() args) throws InterruptedException, AWTException { // TODO Auto-generated method stub WebDriver drv = new FirefoxDriver(); // starting Firefox browser drv.manage().window().maximize(); // maximizing window drv.manage().timeouts().pageLoadTimeout(10, TimeUnit. SECONDS);//for page load drv.get('https://www.grammarly.com/plagiarism-checker');//open testing website drv.manage().timeouts().implicitlyWait(10, TimeUnit. SECONDS);// for Implicit wait JavascriptExecutor js = (JavascriptExecutor)drv; // Scroll operation using Js Executor js.executeScript('window.scrollBy(0,200)'); // Scroll Down(+ve) upto browse option Thread.sleep(2000); // suspending execution for specified time period WebElement browse = drv.findElement(By.linkText('Upload a file')); // using linkText, to click on browse element browse.click(); // Click on browse option on the webpage Thread.sleep(2000); // suspending execution for specified time period // creating object of Robot class Robot rb = new Robot(); // copying File path to Clipboard StringSelection str = new StringSelection('C:\Users\Chait\Desktop\File upload.docx'); Toolkit.getDefaultToolkit().getSystemClipboard().setContents(str, null); // press Contol+V for pasting rb.keyPress(KeyEvent.VK_CONTROL); rb.keyPress(KeyEvent.VK_V); // release Contol+V for pasting rb.keyRelease(KeyEvent.VK_CONTROL); rb.keyRelease(KeyEvent.VK_V); // for pressing and releasing Enter rb.keyPress(KeyEvent.VK_ENTER); rb.keyRelease(KeyEvent.VK_ENTER); } }Izhod za zgornjo selenovo kodo je prikazan spodaj:

Tako lahko datoteke naložimo s pomočjo robota, kjer lahko vidimo uporabo vhodnih dogodkov, kot so pritiskanje tipk in sprostitev tipk za kopiranje, lepljenje, vnos itd.
Primeri nalaganja datotek
Oglejmo si nekaj primerov nalaganja datotek, ki se izvajajo s pomočjo selena:
# 1) Gmail račun
V Gmail račun lahko med pošiljanjem e-pošte nekomu priložite prilogo, tj. Datotečni dokument, ki je lahko katere koli vrste: doc, besedilo, csv, slika, pdf itd. Tukaj nalaganje datotek pride v kontekst.
Za več podrobnosti glejte spodnji posnetek zaslona nalaganja datoteke.

# 2) Nalaganje dokumenta za preverjanje
Običajno moramo za strani za registracijo ali obrazce naložiti dokumente za preverjanje.
Za več pojasnil si oglejte spodnjo sliko:
ID_Dokaz

Reg_form

Za različna takšna preverjanja, kot so preverjanje dokazov, preverjanje naslovov, dokazila o izobrazbi itd., Je treba naložiti posebne dokumente.
Zaključek
Tako smo v tej vadnici videli nalaganje datotek na strani HTML. Opazili smo tudi različne metode za obdelavo datotek v programu Selenium (ki vključujejo metode, kot so uporaba sendKeys, uporaba AutoIT in razred Robot). Razumeli smo tudi izvajanje kode za obdelavo nalaganja datotek v programu Selenium za vsako od teh metod in si na koncu ogledali nekaj primerov.
Avtor Bio - Ta članek je napisal Sonali Satpute, usposobljeni B.E. (računalnik) iz MITCOE, Pune, Professional Tester za programsko opremo in Content Writer.
=> Preberite celotni vodnik po selenu
Priporočeno branje
- Kako ravnati s pojavnim oknom sistema Windows v selenu s pomočjo AutoIT
- Kako izbrati radijske gumbe v programu Selenium WebDriver?
- Kako izbrati potrditveno polje v selenu s primeri
- Vadnica za kumare selena: Integracija kumar Java Selenium WebDriver
- Uvod v Selenium WebDriver - Vadnica za selenij št. 8
- Vadnica za ChromeDriver Selenium: Preskusi Selenium Webdriver v Chromu
- Razred robotov v programu Selenium WebDriver z Javo
- Vadnica za AutoIt - Samodejni prenos, namestitev in osnovni skript AutoIt