如何运行无头的selenium脚本,独立于主机和浏览器

时间:2017-12-27 10:59:55

标签: java docker jenkins selenium-webdriver continuous-integration

我想要运行一个给定的无头硒"脚本"在CI作业上使用Java构建,独立于主机(和浏览器)。

我可以构建一个jar并运行"脚本"在终端上,我只需要小心指向并配置正确的驱动程序,具体取决于操作系统和运行脚本的主机的浏览器。但是,在CI主机上,如果它们完全可用,我不一定能控制主机和浏览器。

所以我想让脚本的执行独立于脚本运行的主机和浏览器。它可以在Jenkins,Travis,Gitlab CI等的从属实例上运行。

以前提出的一些问题非常针对给定的主机和浏览器组合。我可以让主机摆脱问题并让浏览器可用,例如,通过容器。

如果浏览器可用作容器图像,我可以针对不同的浏览器运行脚本,每个浏览器都有自己的图像。并且我已经为这些浏览器实例准备了正确的驱动程序。

这是否可行?我能做到这一点的最简单方法是什么?

1 个答案:

答案 0 :(得分:0)

这是可行的。 如" How to run Selenium scripts in multiple browsers from Jenkins "可以使用浏览器引发docker镜像,然后使用Remote WebDriver连接到该浏览器。

Selenium grid,在该问题的答案上也引用了一个可行的选项,可以同时引发任何给定浏览器的多个节点,对并发场景非常有用,这不是这个问题的特例。