我和我的团队在测试基础设施方面遇到了一些麻烦。我们有使用不同配置设置在不同平台上针对不同浏览器运行的测试套件 - 所有这些都可以正常工作。我们唯一的问题是,我们不时会遇到奇怪的连接失败和会话错误。
我们的连接失败来自urlib2
,官方的selenium绑定与之沟通
urllib2.URLError: <urlopen error [Errno 110] Connection timed out>
在我们的Windows和Mac节点上的所有浏览器中都会出现。
与我们的会话相关的错误,
selenium.common.exceptions.WebDriverException: Message: Session [insert-session-id-here] was terminated due to TIMEOUT
给出一些上下文,我们的Windows节点上有5个最大会话,其中有5个最大实例用于chrome和firefox。我们的测试也同时进行。
仅当我们的集线器/节点长时间运行时才会出现连接错误。我发现使用生命周期管理器关闭集线器并重新启动它似乎可以解决问题 - 直到再次出现错误。
意外地在不同浏览器上的不同测试中发生会话错误。从我所看到的,它可能是由于并行化,但我不知道根本原因是什么。