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也是必需的。我一直在努力找出问题,并最终找到了问题。 –

相关问题