1

我使用Selenium Webdriver进行一些机器人测试。由于某些功能似乎只能在Firefox中使用,因此我有义务使用Firefoxdriver。 偶尔会发生奇怪的事情。启动te驱动程序FirefoxDriver上的打开网址因WebDriverException而失败:无法解析“”

driver = new FirefoxDriver(); 
driver.get(URL); 

获取Firefox启动但不去指定的URL。奇怪的是,它可以在Firefox中使用相同首选项的另一台计算机上运行。我通过更改为另一个版本的Firefox来解决了这个问题,但这一次对我来说并没有什么窍门,但它对其他开发者来说确实有效。是的,所有开发人员在同一天,同一天开始的错误... 我的第一个问题是:它是一个Firefox或Webdriver问题。第二个问题:它怎么可能在其他PC上运行?

任何帮助将是非常赞赏 感谢

Error: 

org.openqa.selenium.WebDriverException: Could not parse "". 
System info: os.name: 'Windows XP', os.arch: 'x86', os.version: '5.1', java.version: '1.6.0_18' 
Driver info: driver.version: firefox 
    at org.openqa.selenium.firefox.Response.<init>(Response.java:53) 
    at org.openqa.selenium.firefox.internal.AbstractExtensionConnection.nextResponse(AbstractExtensionConnection.java:258) 
    at org.openqa.selenium.firefox.internal.AbstractExtensionConnection.readLoop(AbstractExtensionConnection.java:220) 
    at org.openqa.selenium.firefox.internal.AbstractExtensionConnection.waitForResponseFor(AbstractExtensionConnection.java:213) 
    at org.openqa.selenium.firefox.internal.AbstractExtensionConnection.sendMessageAndWaitForResponse(AbstractExtensionConnection.java:162) 
    at org.openqa.selenium.firefox.FirefoxDriver.executeCommand(FirefoxDriver.java:329) 
    at org.openqa.selenium.firefox.FirefoxDriver.sendMessage(FirefoxDriver.java:312) 
    at org.openqa.selenium.firefox.FirefoxDriver.sendMessage(FirefoxDriver.java:308) 
    at org.openqa.selenium.firefox.FirefoxDriver.fixId(FirefoxDriver.java:350) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:130) 
    at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:109) 
    at be.....MMCRobotTest.login(MMCRobotTest.java:98) 
    at be.....MMCRobotTestAttribute.testNewAttribute(MMCRobotTestAttribute.java:12) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at junit.framework.TestCase.runTest(TestCase.java:164) 
    at junit.framework.TestCase.runBare(TestCase.java:130) 
    at junit.framework.TestResult$1.protect(TestResult.java:106) 
    at junit.framework.TestResult.runProtected(TestResult.java:124) 
    at junit.framework.TestResult.run(TestResult.java:109) 
    at junit.framework.TestCase.run(TestCase.java:120) 
    at junit.framework.TestSuite.runTest(TestSuite.java:230) 
    at junit.framework.TestSuite.run(TestSuite.java:225) 
    at org.eclipse.jdt.internal.junit.runner.junit3.JUnit3TestReference.run(JUnit3TestReference.java:130) 
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:467) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390) 
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197) 
Caused by: org.json.JSONException: A JSONObject text must begin with '{' at character 0 
    at org.json.JSONTokener.syntaxError(JSONTokener.java:496) 
    at org.json.JSONObject.<init>(JSONObject.java:180) 
    at org.json.JSONObject.<init>(JSONObject.java:403) 
    at org.openqa.selenium.firefox.Response.<init>(Response.java:41) 
    ... 30 more 
+0

你传入了什么URL? – 2011-08-27 12:04:29

+0

我从来没有使用Webdriver,但它看起来像其他人都有同样的问题。查看[此Google小组讨论](http://groups.google.com/group/webdriver/browse_thread/thread/e899abc18da1c708/e9919658b10a1c7a?#e9919658b10a1c7a)。 – 2010-03-26 14:54:54

回答

1

我建议你使用最新的硒服务器库最新版本的Firefox浏览器。 或者我认为你忘了在所有遇到问题的机器上包含所有的lib罐子。

+0

我有一个类似的问题,并添加一个缺少的JAR修复了这个问题。在我的情况下,我在Play Framework下使用WebDriver版本2.25.0,并且需要添加json-20080701.jar,否则FirefoxDriver构造函数将在某些JSON库中无限递归失败。 – 2012-08-08 23:50:45

0

我想你已经安装的Firefox浏览器多个版本, 尝试卸载所有,并安装最新版本的... 希望这有助于..

1

确保网址的前缀是正确的协议类似的 'http://'。删除这个例外,并添加了这个阻止它。