Hogyan lehet feltölteni & Töltsön le egy fájlt a Selenium Webdriver segítségével

Tartalomjegyzék:

Anonim

Ebben az oktatóanyagban megtanuljuk, hogyan kell kezelni a fájlok feltöltését és letöltését.

Fájlok feltöltése

Ebben a szakaszban a http://demo.guru99.com/test/upload/ címet fogjuk használni tesztalkalmazásként. Ez a webhely minden látogató számára lehetővé teszi fájlok feltöltését anélkül, hogy regisztrálást igényelne.

A fájlok feltöltése a WebDriver programba egyszerűen a sendKeys () metódus használatával történik a fájl kiválasztása beviteli mezőben a feltöltendő fájl elérési útjának megadásához.

Fájl feltöltése a Selenium Webdriver alkalmazásban
kezelje a fájl feltöltését a szelén web meghajtóban

Tegyük fel, hogy feltöltjük a "C: \ newhtml.html" fájlt. WebDriver kódunknak meg kell egyeznie az alábbiakkal.

csomag newproject;import org.openqa.selenium. *;import org.openqa.selenium.firefox.FirefoxDriver;PG9 nyilvános osztály {public static void main (String [] érvel) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");String baseUrl = "http://demo.guru99.com/test/upload/";WebDriver illesztőprogram = new FirefoxDriver ();driver.get (baseUrl);WebElement uploadElement = driver.findElement (By.id ("uploadfile_0"));// írja be a fájl elérési útját a fájlválasztó beviteli mezőbeuploadElement.sendKeys ("C: \\ newhtml.html");// jelölje be az "Elfogadom a szolgáltatási feltételeket" jelölőnégyzetetdriver.findElement (By.id ("feltételek")). kattintson ();// kattintson az "UploadFile" gombradriver.findElement (By.name ("küldés")). kattintson ();}}

A szkript futtatása után képesnek kell lennie a fájl sikeres feltöltésére, és ehhez hasonló üzenetet kell kapnia.

Ne felejtsen el két dolgot követni, amikor fájlokat tölt fel a WebDriver programba

  1. Nincs szükség a "Tallózás" gombra kattintás szimulálására. A WebDriver automatikusan beírja a fájl elérési útját a elem fájlkiválasztó szövegmezőjébe
  2. Amikor a fájl elérési útját beállítja a Java IDE-jében, használja a megfelelő elválasztási karaktert a hátsó perjelhez.

Fájlok letöltése

A WebDriver nem képes elérni a böngészők által megjelenített Letöltés párbeszédpaneleket, amikor egy letöltési linkre vagy gombra kattint. Ezeket a párbeszédpaneleket azonban megkerülhetjük egy külön "wget" nevű program használatával.

Mi az a Wget?

A Wget egy kicsi és könnyen használható parancssori program, amelyet a letöltések automatizálására használnak . Alapvetően a Wget-et a WebDriver parancsfájlunkról fogjuk elérni a letöltési folyamat végrehajtásához.

A Wget beállítása

1. lépés: Hozzon létre egy új mappát a C meghajtón, és nevezze el „Wget” néven.

Töltse le innen a wget.exe fájlt, és helyezze a fenti lépésben létrehozott Wget mappába.

2. lépés: Nyissa meg a Futtatást a Windows billentyű + "R" megnyomásával; írja be a "cmd és kattintson az OK gombra

Írja be a "cd /" parancsot a gyökérkönyvtárba lépéshez

3. lépés: Írja be a parancsot, hogy ellenőrizze, hogy az adott beállítás működik-e

cmd / c C: \\ Wget \\ wget.exe -PC: --no-check-tanúsítvány http://demo.guru99.com/selenium/msgr11us.exe

Úgy tűnik, hogy probléma merül fel a C meghajtóra.

4. lépés: Hibakeresnie kell a wget hibákat a parancssorban, mielőtt végrehajtaná a kódot a Selenium Webdriver használatával. Ezek a hibák továbbra is fennállnak az Eclipse programban, és a hibaüzenetek nem lesznek olyan informatívak. A legjobb, ha először a wget parancssori parancs segítségével működik. Ha parancssorban működik, akkor biztosan működik az Eclipse-ben.

Példánkban, amint az a 3. lépésben látható, probléma merül fel a C meghajtóba történő írással. Változtassuk a letöltés helyét D meghajtóra, és ellenőrizzük az eredményeket.

cmd / c C: \\ Wget \\ wget.exe -PD: --no-check-tanúsítvány http://demo.guru99.com/selenium/msgr11us.exe

A Messenger sikeresen letöltve.

Mielőtt továbblépne, ne felejtse el törölni a letöltött fájlt

A WebDriver és a Wget használata

A következő példában a WebDriver és a wget segítségével letöltjük a Yahoo Messenger nevű népszerű csevegőszoftvert. Alap URL-jünk a http://demo.guru99.com/test/yahoo.html lesz.

1. lépés

Importálja a "java.io.IOException" csomagot, mert az IOExceptiont később el kell kapnunk a 4. lépésben.

2. lépés

A getAttribute () használatával megszerezheti a letöltési link "href" értékét, és String változóként mentheti el. Ebben az esetben a változót "sourceLocation" néven neveztük el.

3. lépés

Állítsa be a wget szintaxisát a következő paranccsal.

4. lépés

Kezdje meg a letöltési folyamatot a wget meghívásával a WebDriver kódunkról.

Összegezve: WebDriver kódja az alábbiak szerint nézhet ki.

csomag newproject;import java.io.IOException;import org.openqa.selenium. *;import org.openqa.selenium.firefox.FirefoxDriver;PG8 nyilvános osztály {public static void main (String [] érvel) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Karaktersorozat baseUrl = "http://demo.guru99.com/test/yahoo.html";WebDriver illesztőprogram = new FirefoxDriver ();driver.get (baseUrl);WebElement downloadButton = driver.findElement (Írta:.id ("messenger-download"));String sourceLocation = letöltésButton.getAttribute ("href");Karakterlánc wget_command = "cmd / c C: \\ Wget \\ wget.exe -PD: --no-check-certificate" + sourceLocation;próbáld ki {Folyamat exec = Runtime.getRuntime (). Exec (wget_command);int exitVal = exec.waitFor ();System.out.println ("Kilépési érték: + exitVal);} catch (InterruptedException | IOException ex) {System.out.println (ex.toString ());}driver.close ();}}

A kód végrehajtása után ellenőrizze a D meghajtót, és ellenőrizze, hogy a Yahoo Messenger telepítőt sikeresen letöltötték-e oda.

Összegzés

  • A fájlok feltöltése a WebDriver programba egyszerűen a sendKeys () metódus használatával történik a fájl kiválasztása beviteli mezőben a feltöltendő fájl elérési útjának megadásához.
  • A WebDriver nem tudja automatikusan automatizálni a fájlok letöltését.
  • A fájlok letöltésének legegyszerűbb módja a WebDriver használatával a Wget használata.