驱动程序可执行文件必须由webdriver.ie.driver系统属性设置
我正在使用Selenium来自动化testing。 我的应用程序专门使用IE浏览器,它不会在其他浏览器上工作。
码:
import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; public class Test { public static void main(String[] args) { final String sUrl = "http://www.google.co.in/"; System.setProperty("webdriver.chrome.driver","C:\\Users\\vthaduri\\workspace\\LDCSuite\\IEDriverServer.exe"); WebDriver oWebDriver = new InternetExplorerDriver(); oWebDriver.get(sUrl); WebElement oSearchInputElem = oWebDriver.findElement(By.name("q")); // Use name locator to identify the search input field. oSearchInputElem.sendKeys("Selenium 2"); WebElement oGoogleSearchBtn = oWebDriver.findElement(By.xpath("//input[@name='btnG']")); oGoogleSearchBtn.click(); try { Thread.sleep(5000); } catch(InterruptedException ex) { System.out.println(ex.getMessage()); } oWebDriver.close(); } }
这是我得到的错误
驱动程序可执行文件的path必须由webdriver.ie.driver系统属性设置; 有关更多信息,请参阅https://github.com/SeleniumHQ/selenium/wiki/InternetExplorerDriver 。 最新版本可以从http://www.seleniumhq.org/download/下载2012年6月12日下午4时18分42秒org.apache.http.impl.client.DefaultRequestDirector tryExecute INFO:I / Oexception(Java。 net.SocketException)处理请求时捕获:软件导致连接中止:recv失败2012年6月12日下午4时18分42秒org.apache.http.impl.client.DefaultRequestDirector tryExecute
有人可以帮我吗?
-
您需要在您的系统上执行InternetExplorer驱动程序。 所以从暗示来源( http://www.seleniumhq.org/download/ )下载它解压缩,并放置在某个地方,你可以find它。 在我的例子中,我会假设你将它放到
C:\Selenium\iexploredriver.exe
-
那么你必须在系统中进行设置。 这是从我的Selenium项目粘贴的Java代码:
File file = new File("C:/Selenium/iexploredriver.exe"); System.setProperty("webdriver.ie.driver", file.getAbsolutePath()); WebDriver driver = new InternetExplorerDriver();
基本上,你必须在初始化驱动之前设置这个属性
您正在设置Chrome不IE的path。 错误消息说
“驱动程序可执行文件的path必须由webdriver.ie.driver系统属性设置;”
但是你正在设置“ webdriver.chrome.driver ”。
使用InternetExplorerDriver时,必须将“ webdriver.ie.driver ”设置为文件位置。
您可以使用-DpropertyName = Value在shell / MVN / IDE中设置这些属性
-Dwebdriver.ie.driver="C:/.../IEDriverServer.exe"
您需要使用引号,因为您的path中的空格或斜杠,或者反斜杠其他智慧他们是转义前缀。
你也可以使用
System.setProperty("webdriver.ie.driver","C:/.../IEDriverServer.exe");
在你的代码里面。
我只是把驱动程序文件直接放到我的项目中,以获得任何依赖我的本地机器。
final File file = new File("driver/chromedriver_2_22_mac"); System.setProperty("webdriver.chrome.driver", file.getAbsolutePath()); driver = new ChromeDriver();
春季:
File inputFile = new ClassPathResource("\\chrome\\chromedriver.exe").getFile(); System.setProperty("webdriver.chrome.driver",inputFile.getCanonicalPath());
您将需要下载InternetExplorer驱动程序可执行文件在您的系统,下载后从源代码( http://code.google.com/p/selenium/downloads/list )解压缩,并把它放在你的地方的地方电脑。 在我的例子中,我将它放到D:\ iexploredriver.exe
然后你在eclipse主类中写下面的代码
System.setProperty("webdriver.ie.driver", "D:/iexploredriver.exe"); WebDriver driver = new InternetExplorerDriver();