Java 将Chrome驱动程序与Selenium 2配合使用
我正在尝试使用Chrome Drive来执行我的一些测试,这些测试在Firefox上运行得很好,但我无法执行它们,我已经验证了要求,即Chrome版本12或更高版本的位置,以及诸如此类的内容,但无论如何仍然无法正常工作,调用驱动程序的方法是:Java 将Chrome驱动程序与Selenium 2配合使用,java,testing,selenium,webdriver,Java,Testing,Selenium,Webdriver,我正在尝试使用Chrome Drive来执行我的一些测试,这些测试在Firefox上运行得很好,但我无法执行它们,我已经验证了要求,即Chrome版本12或更高版本的位置,以及诸如此类的内容,但无论如何仍然无法正常工作,调用驱动程序的方法是: WebDriver fd = new ChromeDriver(); fd.get("url"); 然后搜索一些元素,但没有任何结果,错误消息为: 线程“main”中出现异常 org.openqa.selenium.WebDriverException:
WebDriver fd = new ChromeDriver();
fd.get("url");
然后搜索一些元素,但没有任何结果,错误消息为:
线程“main”中出现异常
org.openqa.selenium.WebDriverException:
找不到Chrome。设置
webdriver.chrome.bin系统信息:
os.name:'Windows XP',os.arch:'x86',
os.version:'5.1',java.version:
“1.6.0_18”驾驶员信息:
驱动程序版本:ChromeDriver at
org.openqa.selenium.chrome.ChromeBinary.getChromeBinaryLocation(ChromeBinary.java:220)
在
org.openqa.selenium.chrome.ChromeBinary.getCommandline(ChromeBinary.java:121)
在
org.openqa.selenium.chrome.ChromeBinary.prepareProcess(ChromeBinary.java:67)
在
org.openqa.selenium.chrome.ChromeBinary.start(ChromeBinary.java:109)
在
org.openqa.selenium.chrome.ChromeCommandExecutor.start(ChromeCommandExecutor.java:373)
在
org.openqa.selenium.chrome.ChromeDriver.startClient(ChromeDriver.java:65)
在
org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:85)
在
org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:25)
在
org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:43)
在
org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:53)
在
equifax.qa.test.NewTests.access.main(access.java:11)
如果有人能帮助我,那就太好了。您是否确保已从下载了Chrome驱动程序并将其放置在您的
路径中
查看更多详细信息从下载ChromeDriver.exe,然后添加系统属性,如下所示:
System.setProperty("webdriver.chrome.driver", "...\chromedriver.exe");
我可以通过如下方式启动selenium服务器来实现这一点:
java -jar selenium-server-standalone-2.0rc2.jar -Dwebdriver.chrome.driver=c:\path\to\chromedriver.exe
(运行Windows 7 64位、Chrome 12、selenium server rc2)只需从下载chromedriver\u win32\u 13.0.775.0.zip和selenium-server-standalone-2.0rc3.jar即可[http://code.google.com/p/selenium/downloads/list][1]
将chromedriver_win32_13.0.775.0.zip解压到一个文件夹中,例如C:/drivers/chrome/,以便chromedriver.exe位于C:/drivers/chrome/chromedriver.exe
针对端口6668上的集线器注册节点(例如)
如果您访问
您应该看到Chrome驱动程序已注册 您可以将功能设置为指向要启动的浏览器的二进制文件
DesiredCapabilities=DesiredCapabilities.chrome();
setCapability(“chrome.binary”,“usr/lib/chromium browser/chromium browser”)
WebDriver=新的ChromeDriver(功能)
例如:-Chrome浏览器(33.0.1729.0)适用于ChromeDriver 2.7,而不适用于旧版本
您可以从以下链接中选择所有chromedriver版本:-
因此,请尝试使用chromedriver支持的浏览器版本。对Chrome使用此版本
步骤2使用Testng框架
@BeforeClass
public void setUp() throws Exception
{
System.setProperty("webdriver.chrome.driver", "D://Work-Selenium//chromedriver_win32//chromedriver.exe");
driver = new ChromeDriver();
baseUrl = "http://google.com";
driver.get(baseUrl);
}
如果您使用的是Maven项目。按照以下步骤操作
从该链接下载最新的chromedriver.exe
在测试中创建驱动程序文件夹。它应该是这样的src/test/resources/drivers
在步骤2中,将chromedriver.exe移动到上述路径
在创建chrome驱动程序对象之前,请使用以下代码
System.setProperty(“webdriver.chrome.driver”,
Thread.currentThread().getContextClassLoader().getResource(“drivers/chromedriver.exe”).getFile()代码>问题,为什么我们必须使用提示窗口来运行测试,Selenium 2还没有提供此功能?您不需要运行它。这只是使用它的一种方法,在连接到远程实例时,它会很有用。在本地执行时,您可以只设置系统属性,让WebDriver负责启动,等等。嗨,我很好奇这个驱动程序与org.openqa.selenium.chrome.ChromeDriver有何不同?嗨,我很好奇这个驱动程序与org.openqa.selenium.chrome.ChromeDriver有何不同?ChromeDriver使用ChromeDriver.exe与chrome交互。org.openqa.selenium.chrome.ChromeDriver只是一种语言绑定,它允许您与ChromeDriver.exe交互,而ChromeDriver.exe又与实际浏览器交互。+1如果是这种情况,那么我们为什么要设置系统属性?我们不是为FireFox设置这个!我不能100%确定这是否是原因,但ChromeDriver.exe是由谷歌开发人员而不是WebDriver/Selenium团队开发的,所以我猜这是集成问题。这使得同时开发这两个项目更容易,也许?只是猜测而已!该属性应该是“webdriver.chrome.driver”(至少在selenium 2.0rc3中是这样的)。该堆栈跟踪来自旧版本的selenium,在ChromeDriver重写之前。显示的某些类不再存在。下面给出的建议假设您使用的是较新的版本。您知道如何从Python执行此操作吗?当我使用Firefox时,我会做以下事情:chrome是否有python模块?从selenium import selenium import unittest开始,时间,重新分类Untitled(unittest.TestCase):def setUp(self):self.verificationErrors=[]self.selenium=selenium(“localhost”,4444,“*chrome”),self.selenium.start()解决了我上面的问题。我可以替换“*chrome”“使用*firefox、*mock、*firefoxproxy、*pifirefox、*chrome、*iexploreproxy、*iexplore、*firefox3、*safariproxy、*googlechrome、*konqueror、*firefox2、*safari、*piiexplore、*firefoxchrome、*opera、*iehta、*Custom,我在使用groovy吗?”?如何给groovy这个?我有同样的问题,实际上我在这里发布了我的问题,我很困惑。。。是硒、铬或什么的问题吗?+1我试过t
@BeforeClass
public void setUp() throws Exception
{
System.setProperty("webdriver.chrome.driver", "D://Work-Selenium//chromedriver_win32//chromedriver.exe");
driver = new ChromeDriver();
baseUrl = "http://google.com";
driver.get(baseUrl);
}