如何运行无头的selenium脚本,独立于主机和浏览器
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何运行无头的selenium脚本,独立于主机和浏览器相关的知识,希望对你有一定的参考价值。
我想在CI作业上运行一个用Java构建的无头selenium“脚本”,独立于主机(和浏览器)。
我可以构建一个jar并在终端上运行“脚本”,我只需要小心指向并配置正确的驱动程序,具体取决于我运行脚本的操作系统和主机的浏览器。但是,在CI主机上,如果它们完全可用,我不一定控制主机和浏览器。
所以我想让脚本的执行独立于脚本运行的主机和浏览器。它可以在Jenkins,Travis,Gitlab CI等的从属实例上运行。
之前提出的一些问题非常针对给定的主机和浏览器组合。我可以让主机摆脱问题并让浏览器可用,例如,通过容器。
如果浏览器可用作容器图像,我可以针对不同的浏览器运行脚本,每个浏览器都有自己的图像。我已经为这些浏览器实例准备了适当的驱动程序。
这是否可行,我能做到这一点的最简单方法是什么?
答案
这是可行的。如“How to run Selenium scripts in multiple browsers from Jenkins ”所示,可以使用浏览器提升docker镜像,然后使用Remote WebDriver连接到该浏览器。
Selenium grid,也引用了该问题的答案是一个可行的选项,同时提出任何给定浏览器的多个节点,对并发场景有用,这不是这个问题的特殊情况。
以上是关于如何运行无头的selenium脚本,独立于主机和浏览器的主要内容,如果未能解决你的问题,请参考以下文章
使用 Headless Chrome Webdriver 运行 Selenium