当我尝试启动时
php behat.phar
弹出WebDriver firefox窗口,然后我的功能测试在第一步失败并跳过其余部分。我明白了:
...
鉴于我在“first.php”#FeatureContext :: visit()
会话[url]不可用,并且不在最后1000个终止的会话中。
活跃会话是[分机key 51191ae0-8f6f-49d0-27b322967296]
...
如果我只使用测试通过。只有当我尝试使用硒时才会发生这种情况。
我正在使用MinkExtension GivenIAmOn()预制函数
my behat.yml:
default:
paths:
features: features
bootstrap: features/bootstrap
extensions:
mink_extension.phar:
mink_loader: 'mink.phar'
base_url: 'http://10.0.0.10/'
goutte: ~
selenium2:
wd_host: 'http://localhost:4444/wd/hub'
capabilities:
version: ''
我的FeatureContext从MinkContext扩展而来。 我一直在寻找解决方案,我无法解决这个问题。
我正在使用带有firefox 26的Windows 7,selenium-server-standalone-2.42.2,我也试过了更低版本。正如我在一些问题中所读到的那样,会话/“session-id”/ url在某些版本之前被打破了,但现在它不应该。由于某种原因,它无法选择合适的会话。
对于数据质量感到抱歉,我的工作场所没有互联网连接,而且非常有限。这就是我使用.phar文件而不是使用composer的原因。我无法复制粘贴文件等等。如果我必须提供更多数据,请告诉我,我会。
答案 0 :(得分:0)
这听起来像grid-level超时问题。您应该尝试增加browserTimeout
和newSessionWaitTimeout
,看看是否有帮助。
来源:Session not available and is not among the last 1000 terminated sessions。
网格中的超时通常应通过
webDriver.manage().timeouts()
来处理,这将控制不同操作的超时时间。
browserTimeout应为:
webDriver.manage().timeouts()
中使用的值,因为此机制是“最后一道防线”。对于任何问题,请同时检查:http://localhost:4444/wd/hub/sessions
答案 1 :(得分:0)
我遇到了同样的问题,Selenium Grid的日志是这样的:
WARN [RequestHandler.process]-客户端已退出以进行会话扩展。键fa804448787370d0547cd517ab2badc1,终止 INFO [ActiveTestSessions.updateReason]-删除了尚未分配外部密钥的会话24f5656a-7a59-4edb-bf7b-c6a1ae59ca16,指示会话创建CLIENT_GONE
失败
错误CLIENT_GONE
是:
“客户端进程(您的代码)似乎已经死亡或对我们的请求没有响应,间歇性网络问题也可能导致”。
我有一些正在排队等待的测试(5个测试正在等待,而其他5个正在运行)
我通过停止在网格上排队来解决此问题。
答案 2 :(得分:0)
我通过使用相同版本的selenium hub和节点解决了该问题: 图像:硒/集线器:3.11 和 图片:selenium / node-chrome:3.11