在 Jenkins 中运行 Selenium Cucumber 测试

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动

目前,正在 星球 内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.x + Vite 4手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 204 小节,累计 32w+ 字,讲解图:1416 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 870+ 小伙伴加入,欢迎点击围观

本文介绍如何在 Jenkins 中配置和运行 Selenium(+ Cucumber)测试。在我们深入了解更多细节之前,我们必须在服务器中安装 Jenkins。这是在 linux 服务器 中设置 Jenkins 的快速方法。

好的,一切都完成了,让我们按照步骤进行,

步骤1

首先你需要安装谷歌浏览器。这在无头模式下称为 chrome。因为在 Jenkins 中运行测试时,你真的看不到 chrome 窗口。


 wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -  
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'  
sudo apt-get update  
sudo apt-get install google-chrome-stable

第2步

然后安装 xvfb。好的,这是什么 xvfb ?

基于维基百科:

“Xvfb 或 X 虚拟帧缓冲区是实现 X11 显示服务器协议的显示服务器。与其他显示服务器相比,Xvfb 在内存中执行所有图形操作而不显示任何屏幕输出。从客户端的角度来看,它的行为完全像任何其他 X 显示服务器,根据需要提供请求并发送事件和错误。但是,不显示任何输出。此虚拟服务器不要求运行它的计算机具有屏幕或任何输入设备。只需要一个网络层”


 wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -  
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'  
sudo apt-get update  
sudo apt-get install google-chrome-stable

然后启动xvfb


 wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -  
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'  
sudo apt-get update  
sudo apt-get install google-chrome-stable

步骤 3

好的,服务器更改已完成。现在是时候进入 Jenkins 配置了。

首先安装这个插件,(Jenkins -> Manage Jenkins --> Manage Plugins)

为什么我们需要这个?

这个插件允许 Jenkins 将 Selenium + Cucumber 结果显示为带有屏幕截图的图表。

因此,为了生成图表,此插件需要从 Selenium + Cucumber 生成的 report.json 文件。


 wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -  
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'  
sudo apt-get update  
sudo apt-get install google-chrome-stable

这是 Jenkins 中的插件配置。

创建 Jenkins Job --> 然后将其添加为“构建后步骤”












步骤4

将以下环境变量添加到 Jenkins。 (詹金斯 --> 管理詹金斯 --> 配置系统)


 wget -qO - https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo apt-key add -  
sudo sh -c 'echo "deb http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list'  
sudo apt-get update  
sudo apt-get install google-chrome-stable

好的,我们只是配置 Jenkins 来运行 selenium 和 Cucumber 测试。

现在运行 Jenkins 作业并检查黄瓜报告。 :)

这里有一些示例报告,