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报告。

相关推荐
李星星BruceL7 小时前
Pytest第三章(参考指南1)
python·自动化·pytest
哎呀呦呵7 小时前
pytest基本使用
python·pytest
Kristen_YXQDN7 小时前
PyCharm 中 pytest 运行 python 测试文件报错:D:\Python_file\.venv\Scripts\python.exe: No module named pytest
运维·开发语言·python·pycharm·pytest
Low--Key7 小时前
pytest框架快速入门
python·自动化·pytest
姜西西_7 小时前
自动化测试框架pytest之fixture
android·java·pytest
测试开发Kevin7 小时前
超级实用!汇总pytest中那些常用的参数
单元测试·pytest
Beaman10247 小时前
pytest框架
python·pytest
eddy-原7 小时前
全链路 DevOps 实战:基于 Jenkins、GitLab、Prometheus 与 SonarQube 的持续集成、部署、监控与优化
运维·jenkins
weixin_307779137 小时前
Jenkins Folders插件详解:组织、管理与最佳实践
运维·开发语言·自动化·jenkins