我是Selenium的新手,我正在尝试使用http://docs.seleniumhq.org/docs/03_webdriver.jsp上的示例。但是,它不起作用。每次我运行它,无论是从Maven的JUnit测试,还是从Eclipse Juno作为Java应用程序,我得到这样的东西:
Exception in thread "main" org.openqa.selenium.WebDriverException: Session not found: 1d1a9aa2-f089-4f36-bb05-e1505c7b4e85
Command duration or timeout: 28 milliseconds
Build info: version: '2.33.0', revision: '4ecaf82108b2a6cc6f006aae81961236eba93358', time: '2013-05-22 12:00:17'
System info: os.name: 'Windows 7', os.arch: 'x86', os.version: '6.1', java.version: '1.6.0'
Session ID: 1d1a9aa2-f089-4f36-bb05-e1505c7b4e85
Capabilities [{handlesAlerts=true, rotatable=false, databaseEnabled=true, locationContextEnabled=true, acceptSslCerts=true, applicationCacheEnabled=true, cssSelectorsEnabled=true, nativeEvents=true, takesScreenshot=true, platform=XP, browserName=firefox, javascriptEnabled=true, version=17.0.6, webStorageEnabled=true, browserConnectionEnabled=true}]
Driver info: org.openqa.selenium.firefox.FirefoxDriver
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
...
以下是失败的代码:
public static void main(String[] args) {
// Create a new instance of the Firefox driver
// Notice that the remainder of the code relies on the interface,
// not the implementation.
WebDriver driver = new FirefoxDriver();
// And now use this to visit Google
driver.get("http://www.google.com"); // FAILURE
我通过它调试并看到,当调用FirefoxDriver构造函数时,Firefox窗口实际上在我的系统上打开,然后消失,然后再次打开。然后它在driver.get()调用上失败。
我搜索了这个网站,发现问题的引用是Chrome或IE的问题,但Firefox工作。其他一切似乎都是一个不同的错误。我试图从它打开的窗口中获取我的Firefox版本,但是在选择“关于Firefox”时我得到的是:
<window xmlns:html="http://www.w3.org/1999/xhtml"
^
如果我直接启动Firefox,我看到我的Firefox版本是17.0.6,它说,“你目前正在使用esr更新频道”。顺便说一下,打开窗口也没有效果 - 它仍会打开一个新的Firefox窗口,关闭它,重新打开它,然后将它留在那里。
答案 0 :(得分:0)
我的设置与您完全相同(Windows / Selenium 2.33 / FF 17.0.6),我看到了完全相同的行为。我曾尝试过在网上找到的所有东西。
然后我读到一个地方,用户看到同样的问题是使用他们公司的FF 17.0.6 ESR分发,当他们下载并安装(与他们的公司FF安装)一个新的FF 17.0.6 ESR副本(和指向FF驱动程序使用新的Firefox.exe二进制文件它工作。
这就是我尝试过的,因为我使用的是公司部署的FF版本,并且它有效!这是我使用FF 17.0.6 ESR的第二次安装的代码
File pathToBinary = new File("C:\\Program Files (x86)\\Mozilla Firefox\\Firefox.exe");
FirefoxBinary ffBinary = new FirefoxBinary(pathToBinary);
FirefoxProfile ffProfile = new FirefoxProfile();
WebDriver ffDriver = new FirefoxDriver(ffBinary, ffProfile);
System.out.println("***Execute testGetTitle()");
ffDriver.get(pdURL);
(new WebDriverWait(ffDriver, 10)).until(new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
return d.getTitle().equals("Your Title Here")
}
});
ffDriver.quit();
尝试一下,看看你的FF安装是否有问题。