gpt4 book ai didi

testing - 带有 PHPUnit 的 Ghostdriver

转载 作者:行者123 更新时间:2023-11-28 20:24:16 26 4
gpt4 key购买 nike

我正在尝试使用 PhantomJS 作为 PHPUnit Selenium 测试的浏览器。

我已将 Selenium 设置为以网格模式运行,并使用 webdriver 启动 phantomjs,并将其注册到网格中,如 GhostDriver Readme 中所示。 .

当我运行 selenium 测试时,它因未知的命令错误而失败 - GhostDriver 只是不明白 PHPUnit 在说什么。

[ERROR - 2013-05-12T16:23:06.326Z] RouterReqHand - _handle - Thrown => {
"message": "Request => {\"headers\":{\"Accept\":\"*/*\",\"Connection\":\"Keep-Alive\",\"Content-Length\":\"85\",\"Content-Type\":\"application/x-www-form-urlencoded; charset=utf-8\",\"Host\":\"127.0.0.1:4444\"},\"httpVersion\":\"1.1\",\"method\":\"POST\",\"post\":\"cmd=getNewBrowserSession&1=phantomjs&2=https%3A%2F%2Ftest.testurl.com%2F&\",\"url\":\"/\",\"urlParsed\":{\"anchor\":\"\",\"query\":\"\",\"file\":\"\",\"directory\":\"/\",\"path\":\"/\",\"relative\":\"/\",\"port\":\"\",\"host\":\"\",\"password\":\"\",\"user\":\"\",\"userInfo\":\"\",\"authority\":\"\",\"protocol\":\"\",\"source\":\"/\",\"queryKey\":{},\"chunks\":[\"\"]}}",
"name": "Unknown Command",
"line": 87,
"sourceId": 139810136032448,
"sourceURL": ":/ghostdriver/request_handlers/router_request_handler.js",
"stack": "Unknown Command: Request => {\"headers\":{\"Accept\":\"*/*\",\"Connection\":\"Keep-Alive\",\"Content-Length\":\"85\",\"Content-Type\":\"application/x-www-form-urlencoded; charset=utf-8\",\"Host\":\"127.0.0.1:4444\"},\"httpVersion\":\"1.1\",\"method\":\"POST\",\"post\":\"cmd=getNewBrowserSession&1=phantomjs&2=https%3A%2F%2FFtest.testurl.com%2F&\",\"url\":\"/\",\"urlParsed\":{\"anchor\":\"\",\"query\":\"\",\"file\":\"\",\"directory\":\"/\",\"path\":\"/\",\"relative\":\"/\",\"port\":\"\",\"host\":\"\",\"password\":\"\",\"user\":\"\",\"userInfo\":\"\",\"authority\":\"\",\"protocol\":\"\",\"source\":\"/\",\"queryKey\":{},\"chunks\":[\"\"]}}\n at :/ghostdriver/request_handlers/router_request_handler.js:87",
"stackArray": [
{
"sourceURL": ":/ghostdriver/request_handlers/router_request_handler.js",
"line": 87
}
]
}

GhostDriver site 上提出了同样的问题,但没有得到回答。建议归咎于 PHPUnit。情况可能是这样,但我离完成这项工作还差得很远。有谁知道如何修复它?

最佳答案

看起来您正在使用扩展 PHPUnit_Extensions_SeleniumTestCase 的测试类。请改用 PHPUnit_Extensions_Selenium2TestCase

不幸的是,这还没有结束。当您换出基类时,与 Selenium 相关的方法的语法会发生变化。

过时的 PHPUnit_Extensions_SeleniumTestCase

相比之下,PHPUnit_Extensions_Selenium2TestCase

  • 使用 WebDriver API
  • 支持 Phantom.js
  • 需要一组不同的命令,但没有详细记录 - this test case通过示例演示它,仅此而已
  • 不适用于从 Selenium IDE 导出的代码,而无需进行大量重写。

因此可以使用 PhantomJS 更快地运行 PHPUnit 驱动的 Selenium 测试,但它确实是有代价的。

关于testing - 带有 PHPUnit 的 Ghostdriver,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16509886/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com