我是 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 窗口,关闭它,重新打开它,然后将它留在那里。