Jenkins如果是以启动服务方式安装的话(即可执行程序安装)默认运行selenium都是无头模式的。然而当selenium脚本中封装了其他的库的代码的话无头模式很容易失败,最近笔者碰到一个问题就是:笔者在selenium脚本中使用了pyautogui库来模拟键盘鼠标操作,但是selenium无头模式运行的话这些代码会报错!所以需要在Jenkins下有头模式运行。
这里笔者分享一种方法可以让Jenkins以有头模式运行selenium。可以先装个Tomcat,然后在Tomcat中部署Jenkins,亲测这种方式是以有头模式运行的对用到非selenium的第三方库比较友好。需要注意一点的是Tomcat 9以上无法安装Jenkins,部署了也无法启动,具体描述Jenkins官网有说:
https://www.jenkins.io/doc/book/installing/servlet-containers/
Jenkins requires Servlet API 4.0 (Jakarta EE 8) with javax.servlet
imports. Jenkins is incompatible with Servlet API 5.0 (Jakarta EE 9) or later with jakarta.servlet
imports. Ensure that the Servlet API version of your chosen servlet container is compatible before running Jenkins.</