【问题标题】:selenium2 ( phpunit ) - connection errorselenium2 ( phpunit ) - 连接错误
【发布时间】:2015-02-16 01:36:13
【问题描述】:

我将 selenium 2 与 Phpunit 一起使用。当我运行一个脚本时,我在运行过程中遇到了这个错误。 PHPUnit_Extensions_Selenium2TestCase_NoSeleniumException:错误连接 [28] 到 localhost:4444/wd/hub/session/edf323b4-c6ba-471a-9966-f2b9f3718084/url:操作在 60000 毫秒后超时,收到 0 个字节

有时在几秒钟后,有时在 20 多分钟后(内存:48Mb)。 执行脚本需要很多时间。 (它在不同的页面中有 100 条新闻) 但我不认为这是一个问题(有时它会在几秒钟后粉碎)。 我已经尝试将 selenium 和 phpunit 框架更新到最新版本,但它没有帮助。

连接崩溃后是否有继续脚本的选项? 还是避免暗恋?

我知道我可以尝试增加连接时间,但我正在寻找不同的解决方案或解释为什么会发生这种情况。有任何想法吗?

谢谢。

【问题讨论】:

  • 您可以从 PHPUnit 中放置 setUp()。
  • @Antônio Carlos public function setUp(){ $this->setHost('localhost'); $this->setPort(4444); $this->setBrowser('firefox'); $this->setBrowserUrl('investing.com'); }
  • 检查 Selenin 是否在浏览器的 localhost:4444/wd/hub/session/ 中运行,并使用 Selenium 的地址编辑 setHost()。更多信息,请查看codeception.com/11-12-2013/…phpunit.de/manual/current/en/selenium.html

标签: selenium phpunit


【解决方案1】:

连接问题是因为 CURL,我试图更改 php.ini 并增加超时但它不起作用,所以我知道硒可能会即时设置超时或其他东西。经过短暂的 grep 后,我找到了这个文件:

phpunit/phpunit-selenium/PHPUnit/Extensions/Selenium2TestCase/Driver.php

在构造方法中可以更改 'timeout' 变量的默认值。确保这个参数永远不会改变(如果你懒得找到所有 selenium 调用这个类的地方)将你的默认超时设置为 'seleniumServerRequestsTimeout' 属性(不推荐)。

【讨论】:

    【解决方案2】:

    我遇到了同样的问题,经过几天的尝试(我也尝试了这个问题中的解决方案)没有成功解决这个问题,我决定更换浏览器。

    我下载了Chrome Driver,一切都开始正常工作,没有任何问题。 这让我相信这可能是一些版本冲突或其他东西。 我使用了 Selenium 2.53.0 版和 PhantomJS 2.1.1 版。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。 它是由访问会话和使用session_id() 引起的。您应该使用session_write_close() 来解决此问题。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-04-22
        • 2014-12-29
        • 2012-05-24
        • 1970-01-01
        • 2014-11-16
        • 2015-07-01
        • 2018-05-12
        • 2015-11-24
        相关资源
        最近更新 更多