【发布时间】:2013-08-08 19:16:16
【问题描述】:
我正在尝试使用 selenium 17.1 (Link) 从 PHPUnit 运行示例
我已完成所有安装,但总是失败。
我刚刚得到:
1) WebTest::testTitle
BadMethodCallException: The command http://localhost:4444/wd/hub/session/url is not recognized by the server.
我没有对示例进行任何更改。 Selenium 服务器正在运行。
我不知道出了什么问题。帮忙?
回答:
请看@rutter 的评论: 你知道你运行的是什么版本的 PHPUnit_Selenium 吗?据报道,自 1.3.2 起已修复(更改日志、拉取请求)。 – 拉特
除此之外,2 周后这个项目又开始工作了。我认为一个简单的重新安装就是它所需要的。 :)
【问题讨论】:
-
有趣。我刚刚克隆了最新的 PHPUnit 并下载了 Selenium 2.34.0,并且遇到了同样的问题。请注意,该错误消息中的 URL 中缺少 sessionId?应该是
http://localhost:4444/wd/hub/session/<sessionId>/url。好吧,我深入研究了源代码,似乎 sessionId 没有附加到 URL 中。这是一个技巧:在PHPUnit/Extensions/Selenium2TestCase/Response.php中,将getURL方法修改为return new PHPUnit_Extensions_Selenium2TestCase_URL($this->info['url'].'/'.$this->jsonResponse['sessionId']);。这使测试通过。虽然不理想。 -
你知道你运行的是什么版本的 PHPUnit_Selenium 吗?据报道,此问题自 1.3.2 起已修复(changelog、pull request)。
-
@rutter 感谢您的提问。我实际上认为这已经修复,因为我给了它大约 2 周的时间,现在它刚刚开始工作。不知道如何,但它的工作原理! :D
-
您应该在此处回答您自己的问题并将其作为正确答案进行检查,以便其他找到此问题的人知道解决方案。
标签: php unit-testing exception selenium phpunit