在Jenkins上运行一个停靠的硒网格



我正在尝试在詹金斯(Jenkins)进行测试。我已经停靠了我的测试跑者代码,并且正在使用Dockerized Selenium Hub/Grid。我可以在机器上本地运行所有内容,并希望在Jenkins服务器上进行相同的操作。所有容器都使用Docker Shell命令开始,并且它们都放在同一Docker网络上,以便它们可以进行通信。同样,一切都在本地工作正常,但是当我在Jenkins机器上尝试此操作时,我会收到一条错误消息:

Error forwarding the new session cannot find : Capabilities [{rotatable=false, ...

由于本地完全相同的命令工作,所以我能想到为什么失败的唯一原因是因为容器必须无法在Jenkins机器上进行通信。也许它们是在另一个节点或奴隶上开始的,我不确定。有人在詹金斯机器上运行多个容器的经验吗?还是有人对为什么失败有其他想法?

这个错误是由在运行之间徘徊的共享卷引起的。容器是相同的,但是共享卷的数据是旧的且不正确的,因此在詹金斯环境中运行时的差异。故事的寓意是确保在Docker跑步之间清理所有内容。

,不仅容器,卷,也许还有网络。

如果您使用的是Jenkins容器的Jenkins连接到Selenium-Hub容器的内部IP,而不是通过本地主机或FQDN,

最新更新