Jenkins + Pytest +allure接口自动化测试配置与操作

想把我写的一个简单的pytest+requests的登录接口用jenkins实现,大概弄了一晚上一上午,简单总结一下出现的问题,帮大家节省时间丝滑通过。

1.关于版本

搜索框cmd打开命令行,输入Java --version

如果显示是java1.8.X,就说明是java8,可考虑直接升级,不然非常有可能是耗时耗力没结果

如果是11或17或更高就不用纠结了,直接下载和java配套的jenkins就行

一开始我的电脑就用的是java8,秉持着能少动则少动的原则,我下载了jenkins与java8兼容的版本(jenkins2.346.3以下的),下载好了后显示很多插件都不支持使用了,我以为是版本的问题又换了高一点和低一点的两版,也搜了教程分别尝试了改镜像、自己下好插件导入进去等等,均以失败告终。浪费了很多时间在这里,如果是个人练习的话还是建议直接安装大于等于java11的版本,再去找配套jenkins,不必一直卡在旧版java和jenkins浪费时间。

我基本没有依赖java的项目,如果大家有大项目或者是公司这种,还是要谨慎考虑是否要草率更换java版本!

最后使用了java17,下载了与之兼容的jenkins,轻轻松松就给jenkins装上了各种插件(果然努力的方向还是要正确才行)

我这里使用的版本是java/jdk17、jenkins2.528.2、allure命令行2.35.0,目前顺利执行脚本并生成报告,安装的这三个的教程有很多,这里就不再赘述。

allure安装(粗略版):

  1. 下载 Allure 命令行工具:从 Allure 官网 下载对应系统版本(如 Windows 选 zip 包)。
  2. 解压后将 bin 目录添加到系统环境变量 PATH
  3. 验证安装:服务器命令行执行 allure --version,能显示版本号即生效。

2.jenkins插件

我直接在安装时把推荐的全安了,这里着重强调几个不然执行时会报错

  • Git Plugin(拉取代码)
  • Pipeline(流水线支持)
  • ShiningPanda(Python 环境支持,不安这个执行pytest会报错)
  • HTML Publisher Plugin(展示 pytest-html 报告)
  • Allure Plugin(Allure 报告支持)
  • Email Extension Plugin(邮件通知,可选)

安装插件入口:

------右上角小齿轮进入Manage Jenkins

------ 往下翻找到插件管理

------ 先点击installed plugins(已安装插件)查看目标插件是否安装

------如果没有点击available plugins搜索目标插件

3.全局工具配置

入口:

------右上角小齿轮进入Manage Jenkins

------ 往下翻找到全局工具配置

------找到python安装,把python.exe的路径复制上去。全局工具配置里没有的python安装的,去第二步装这个插件ShiningPanda

------怎么找路径:去命令行输入where python,就有显示出来。

有好几条路径的话,就去pycharm你要跑的这个项目里面找**文件/设置/项目xxx/python解释器。**也可以直接就去pycharm找这个,一步到位

allure commandline也是需要安了插件才会显示,把第1步下载好的allure的路径填在这

4.项目配置

(这个是按本地文件配置的,后面有空会出一篇从gitee网址拉过来执行的)

新建项目

左上角新建item------任务名称 (随便起尽量不要有中文)------ freestyle project------确定

建好后跳转下一个页面,里面是详细配置

下面截图的是需要填写的地方,往下翻找到填上即可,没有提到的空着就行

源码管理

本地文件不需要拉去直接选none

build steps

选择第三个Execute Windows batch command(Windows 系统)

在出现的文本框中填写:

cd C:\ProgramData\Jenkins\.jenkins\workspace\litemall-test

pytest scripts/test_litemall_login.py --alluredir=allure-results

灰色的地方不要照抄我的!

第一行:

第一行的路径找到你电脑上的Jenkins\.jenkins\workspace,

默认是C:\Users\你的用户名\.jenkins\workspace\你的项目名,或者我这个路径,自己找找看,实在找不见就随便填一个,到时候运行时报错了控制台就会打印出workplace的地址

然后直接把项目文件夹一整个复制到workplace文件夹里 ,比如我的项目litemall-test文件夹,我就直接复制这个文件夹到这里,然后把cd 绝对地址 填在第一行,不在workspace文件夹下,可能会报错!

还要注意: 你在jenkins中创建items里起的项目名称 一定要和你复制到workplace底下的项目文件夹的名称一致,

比如你的文件夹叫litermall_test,而你填的项目名称叫litemall-test(一个小横杠的区别,一定要细心检查两次的名!)他没有找到你的litemall-test,就会自己创建一个litemall-test文件,然后没有找到里面的test,报错。

第二行:

(1)pytest后面的文件路径文件名就按平常在pycharm里在项目根目录去执行的整个测试的指令就行,因为我就写了这一个文件所以干脆把名字写出来了,一般执行多个文件都是,在pytest.ini写上

python_files=test*.py,然后直接pytest,就会执行多个文件,后面什么文件名都不用跟。

如 pytest --alluredir=allure-results

(2)如果不填--alluredir=allure-results会只生成allure报告,没有具体数据,一定要填全了

填写完成全部点击save进行保存。

5.基本界面操作

运行项目

点击最右边的小绿三角,等待一会儿就可以看出是否成功

鼠标悬停项目名称

点击右侧小勾

build now:运行项目

配置:跳转和第四步项目配置的地方,有需要随时更改

allure report:查看报告

查看控制台输出:

右击失败和成功下面的小勾,可以看到控制台的打印信息和报错信息,定位具体出错位置,方便解决问题

最后说明:

所有的一切要基于你已经有了一个能够实现测试和断言的pytest+request项目,此文章只介绍了jenkins配置和操作,需要测试脚本请移步ihrm登录接口实现(编写思路参考)。

总结:

  1. Java版本问题:使用Java 8可能导致Jenkins插件兼容性问题,建议直接升级至Java 11/17并安装配套的Jenkins版本(如JDK17+Jenkins 2.528.2),避免因版本冲突浪费时间。

  2. 必备Jenkins插件:安装关键插件(Git、Pipeline、ShiningPanda、HTML Publisher、Allure)以确保拉取代码、Python环境支持及报告生成功能正常。

  3. 全局工具配置 :需在Jenkins中配置Python解释器路径(通过where python获取)和Allure命令行路径(需提前下载并添加至环境变量)。

  4. 项目配置要点

    • 将测试项目文件夹复制到Jenkins的workspace目录,确保项目名称与文件夹名称完全一致。
    • 在构建步骤中使用Execute Windows batch command执行测试命令(如pytest --alluredir=allure-results),并注意路径准确性。
  5. 运行与调试:通过控制台输出定位问题,成功后可查看Allure报告。

相关推荐
007张三丰14 小时前
软件测试专栏(11/20):测试框架开发:pytest深度解析与插件体系
运维·服务器·自动化测试·pytest·测试框架
serve the people15 小时前
Elasticsearch(1) could you tell me how to use es if i am a beginner
大数据·elasticsearch·jenkins
我的xiaodoujiao1 天前
API 接口自动化测试详细图文教程学习系列25--继续处理testCase中的数据
python·学习·测试工具·pytest
开发者联盟league1 天前
使用jenkins pipeline将项目打包运行在k8s上报错kubectl: Permission denied
java·kubernetes·jenkins
江华森1 天前
Jenkins 运维管理实战博客大纲
运维·jenkins
X1A0RAN1 天前
解决jenkins(本机部署或容器部署)安全机制【CSP】问题
jenkins·allure报告
烧饼Fighting1 天前
Jenkins自动化编译部署Spring Boot项目
spring boot·自动化·jenkins
serve the people1 天前
Elasticsearch(3) show me some examples
大数据·elasticsearch·jenkins
牛奶咖啡131 天前
CI/CD——通过Jenkins插件实现与K8s集成并部署应用到k8s集群的实践保姆级教程
ci/cd·kubernetes·jenkins·jenkins安装k8s插件·jenkins对k8s配置凭据·jenkins配置pod模板·编写流水线脚本部署应用到k8s
serve the people1 天前
Elasticsearch(4) show me some more advanced content
大数据·elasticsearch·jenkins