1

如何配置Selenium WebDriver?我有使用Selenium和Java的自動化測試用例。現在我需要使用WebDriver自動上傳和下載文件。我已經添加了webdriver-common-0.9.7376.jar。我喜歡使用Internet Explorer。我怎樣才能做到這一點?配置Selenium 2(WebDriver),使用IE並使用WebDriver上傳文件

我只是聲明變量,使用驅動程序

private static WebDriver driver; 
driver.findElement(By.id(upload)).sendKeys("file to be upload"); 

這是正確的嗎?

+1

獲取上傳元素並輸入文件名的原理是正確的。當你嘗試時會發生什麼? – beny23

回答

1

Ques。 1:如何配置WebDriver?

答:有兩種方法:1)將 「硒的服務器獨立-2.29.0.jar」 只

OR, 2)添加 「硒-java的2.29.0.jar」 和所有位於「selenium-java-2.29.0 \ selenium-2.29.0 \ libs」文件夾中的jar文件夾

您可以下載「selenium-server-2.29.0.zip」和「selenium-java-2.29.0 .zip「分別爲http://code.google.com/p/selenium/downloads/detail?name=selenium-server-2.29.0.ziphttp://code.google.com/p/selenium/downloads/detail?name=selenium-java-2.29.0.zip。 提取它們,你可以得到相應的jar文件來添加。

Ques。 2:如何實例化IE以及如何上傳文件?

答:Java代碼如下:

File file = new File("C:\\Program Files\\Internet Explorer\\iexplore.exe"); 
System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); 
WebDriver driver = new InternetExplorerDriver(); 
driver.findElement(By.id("upload")).sendKeys("file to be upload"); 

如果 「檔案文件=新的文件(」 C:\ Program Files文件\的Internet Explorer \ IEXPLORE。可執行程序」);」不起作用下載「IEDriverServer」和下面替換該行:

File file = new File("E:\\Ripon\\IEDriverServer_Win32_2.29.1\\IEDriverServer.exe"); 

[注:可以從http://code.google.com/p/selenium/downloads/list下載「IEDriverServer」]

+0

我認爲最新Selenium的鏈接應該是通用的,最新的文件會隨着時間的推移而改變,這個答案仍然會指向(然後過時的)文件。另外,你不需要selenium-server和selenium-java。你需要第一個或第二個。 Selenium-java用於本地運行的WebDriver,或者用於Selenium RC連接到運行服務器的人。 Selenium服務器與本地運行Selenium RC(或作爲服務器),Remote WebDriver和Selenium Grid相同。你的「iexplore.exe」提示不應該起作用。 –

+0

Slanec:我使用Eclipse作爲框架,使用Eclipse的WebDriver進行Java編碼。我添加了「selenium-server-standalone-2.29.0.jar」和「selenium-java-2.29.0.jar」:它運行良好。當我刪除「selenium-server-standalone-2.29.0.jar」錯誤發生在行 - 驅動程序=新的InternetExplorerDriver(); com.gb.test.selenium.itinerarybuilder.ItineraryBuilderCreation 失敗配置:@BeforeClass的setUp java.lang.NoClassDefFoundError:COM /谷歌/普通/鹼/功能 \t在com.gb.test.selenium.common.SeleniumTestCase。 setUp(SeleniumTestCase.java:89) –

+0

它缺少com.google.common.base.Function'類,它是Google Guava的一部分。谷歌番石榴被放置在硒服務器獨立的罐子裏,這不是一個好習慣,但是沒關係。如果你想以這種方式進行編譯,你需要在'lib'文件夾(包含在壓縮文件中,jar旁邊)中添加與'selenium-java'綁定的依賴項。或者只是使用Maven或類似的依賴管理器:)。 –

0

沒有爲你的瀏覽器實例化驅動程序,它不會打開瀏覽器窗口做的上傳/下載操作。如果您使用IE,您必須編寫driver = new InternetExplorerDriver();

0

而不是舊的和過時的webdriver-common包,您可能需要http://code.google.com/p/selenium/downloads/list的最新selenium-java

如果你永遠也需要一個運行硒RC本地或遠程的webdriver OT硒電網,你需要的selenium-server包有(如果你還不知道這是什麼意思,只取selenium-java)。

在這兩種情況下,對於運行InternetExplorerDriver,您還需要在上述頁面中輸入IEDriverServer。是否使用32位或64位版本由您決定。


你可以找到一個設置它的例子here in the documentation。如果你仔細研究一下,你會在該文檔中找到更多有用的信息。

例如,對於Internet Explorer,你會做:

System.setProperty("webdriver.ie.driver", "C:\\path\\to\\IEDriverServer.exe"); 
WebDriver driver = new InternetExplorerDriver(); 

// your testing code 

driver.quit(); 

你上傳文件的方法是正確的。

而截至目前(硒v2.29.0),無法通過任何webdriver的下載文件。如果你真的想這樣做,你必須登錄find another way

+0

Selenium Server 2.29.0現在可用 –

+0

@RiponAlWasim你仍然無法使用它下載任何文件。 –

+1

是的,v2.26.0也可以。這只是我關於最新版本的信息,沒有其他 –

1

您需要下載硒的Java 2.25後添加的所有jar 0任何版本。首先添加所有的jar然後所有的lib文件夾jar。

  • 硒-java的2.25.0.jar
  • 硒的Java-2.25.0-srcs.jar,然後將所有的lib罐子(不要忘了添加所有lib文件夾罐子)
+0

是的,它工作。一些教程只要求我們將「selenium-java-2.xx.x」jar添加到構建路徑中,但「lib」文件夾中的jar也是必需的。我一直在努力找出問題,並最終找到了問題。 –

相關問題