如何使用 jenkins 在不同操作系统之间管理 maven 项目和 chromedriver



我正在使用Maven和Jenkins来管理Java和Selenium中的自动化测试。开发过程在MacOS中进行,Jenkins服务器是Windows。当使用 git 管理测试代码时,"chromedriver"资源会在操作系统之间复制。这会导致需要.exe与 macOS 文件的 Windows 版本发生冲突。

如何最好地管理这一点。我的想法是:- 忽略ChromeDriver文件的git,并在每个系统上单独管理它们- 跟踪两个Chrome驱动程序文件,并根据某些环境检测指定要使用的文件

还是有更优雅的策略?詹金斯可以在构建时替换文件吗?像这样的东西 - "拿起承诺的 macOS Chromedriver 并将其替换为这个 chromedriver.exe 并运行 maven 测试"??

将有以下解决方案:

1:[推荐] 不要在代码本身中管理驱动程序。将单个计算机中的驱动程序路径设置为环境变量。2:使用 https://github.com/bonigarcia/webdrivermanager,它将在运行时根据操作系统配置和浏览器版本自动安装所需的驱动程序。

一个可能的解决方案是将ChromeDriver插件安装到Jenkins上。

它将ChromeDriver安装到Jenkins中的每个从属服务器上,允许您忽略本地计算机上的MacOS和Windows版本。

我建议使用isUnix() jenkins 管道逻辑。更多信息可在此处获得或示例可在此处获得

最新更新