当前位置: 首页 > news >正文

Pytest+requests进行接口自动化测试6.0(Jenkins) - 指南

Jenkins部署

  • 前置准备:
    • 本地安装Git
  • 一、版本控制
    • 在GitLab上上传编写好的pytest自动化测试脚本
    • 1)新建一个项目
    • 2)创建空白项目
    • 3)添加项目名称、设置项目可见性级别
    • 4)点击项目,进入项目详细页面
    • 5)复制克隆地址
    • 6)打开Git窗口
    • 7)执行第5步复制的克隆地址,执行:git clone 克隆地址
    • 8)将你本地的代码上传到gitlab仓库
    • 9)将暂存区的文件提交到master分支上
    • 10)将分支上的数据推送到远程仓库中去
    • 11)查看GitLab
    • 12)更新推送代码
  • 二、Jenkins部署
    • 1)手动安装jenkins插件
    • 2)新建任务,构建一个自由风格的软件项目
    • 3)项目描述,可填可不填
    • 4)配置源码管理
    • 5)构建触发器,如设置定时构建
    • 6)构建环境配置
    • 7)构建配置,增加构建步骤—执行shell
      • 重点:requirements.txt 文件来源
    • 8)构建后操作配置,增加allurereport报告配置(发邮件)
    • 9)安装Email Extension Plugin插件(全局邮箱模版配置)
  • 三、配置完成
    • 错误解决:

前置准备:

本地安装Git

Git安装教程地址

一、版本控制

在GitLab上上传编写好的pytest自动化测试脚本

将pytest自动化测试脚本纳入版本控制系统中,也就是常见的git中。一般公司内部都有自己的git系统,如果没有则可以传到码云上(需要注册Gitee账号)

1)新建一个项目

在这里插入图片描述
在这里插入图片描述

2)创建空白项目

在这里插入图片描述

3)添加项目名称、设置项目可见性级别

在这里插入图片描述
在这里插入图片描述

4)点击项目,进入项目详细页面

在这里插入图片描述

5)复制克隆地址

在这里插入图片描述

6)打开Git窗口

在电脑盘中找一个盘的根目录下,右键点击gitbash here打开git窗口(前提是电脑已经安装Git软件)

在这里插入图片描述

7)执行第5步复制的克隆地址,执行:git clone 克隆地址

git clone https://gitlab.inetvine.com/xxxxx/aaaa.git

在这里插入图片描述
第一次链接会跳出账号密码输入框,记得输入

在这里插入图片描述

8)将你本地的代码上传到gitlab仓库

将想要上传的代码放到克隆到的带有.git 的文件夹下

在这里插入图片描述

打开git窗口,执行 ls -la 验证Autopractice文件夹是否在其中:

ls -la

在这里插入图片描述

git add . 将本地代码文件提交到暂存区。

git add .

在这里插入图片描述

9)将暂存区的文件提交到master分支上

在执行:git commit -m “说明/描述”,将暂存区的文件提交到master分支上

git commit -m "说明/描述"

在这里插入图片描述

10)将分支上的数据推送到远程仓库中去

git push origin master

在这里插入图片描述

11)查看GitLab

到这步,我们就已经把代码放到git仓库系统中去了,可以去gitlab下查看

在这里插入图片描述
在这里插入图片描述

12)更新推送代码

进入项目根目录下的 Git Bash Here

在这里插入图片描述

git add .
git commit -m "说明/描述"
git push origin master

二、Jenkins部署

1)手动安装jenkins插件

首先jenkins的插件是必备的,有些插件需要自己手动安装,位置:系统管理 - > 插件管理

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

2)新建任务,构建一个自由风格的软件项目

在这里插入图片描述

3)项目描述,可填可不填

填完后点击源码管理处的 Git

在这里插入图片描述

4)配置源码管理

将gitlab上的项目地址复制到Repository URL 再次进入到gitlab系统,复制gitlab的项目地址

在这里插入图片描述

复制好 gitlab 项目地址,粘贴到 Git 处,若报错显示无法连接到仓库,需对Jenkins进行配置

在这里插入图片描述

该错误为认证错误,需要设置你的gitlab系统的登录用户和密码

在这里插入图片描述

源码管理,选择刚刚添加的账密

在这里插入图片描述

选择账密后(如下图所示),这里不报错说明jenkins已经能够访问到gitlab的源码了。

在这里插入图片描述

源码库浏览器配置,如下(按公司项目选择)

在这里插入图片描述
在这里插入图片描述

5)构建触发器,如设置定时构建

具体构建时间的意思设置及含义可参考:https://app.yinxiang.com/fx/c26b7017-c493-4a39-91d7-d04fa47ca04e

在这里插入图片描述
该图为每5分钟构建一次

6)构建环境配置

在这里插入图片描述

7)构建配置,增加构建步骤—执行shell

在这里插入图片描述
在这里插入图片描述

输入如下命令:

#!/bin/bash  (shell脚本解释并执行)
python3 -V   (打印python的版本号)
pip3 -V      (打印pip版本号)
pip3 install -r requirements.txt (表示安装项目的依赖模块)
cd pythonProject   (项目根目录名)
python3 run.py     (运行主函数)

重点:requirements.txt 文件来源

示例:完整流程(推荐做法)

# 1. 创建虚拟环境
python -m venv venv
# 2. 激活环境
venv\Scripts\activate       # Windows
source venv/bin/activate    # Mac/Linux
# 3. 安装依赖
pip install django requests pandas
# 4. 生成 requirements.txt
pip freeze > requirements.txt

整体流程执行完后,项目根目录下会生成一个 requirements.txt 文件

在这里插入图片描述

8)构建后操作配置,增加allurereport报告配置(发邮件)

在这里插入图片描述

  • Allure Report配置
    在这里插入图片描述

  • Publish JUnit test result report配置
    在这里插入图片描述

  • 上面这个results.xml文件需要在脚本中设置,如下
    在这里插入图片描述

这里生成的路径一定要跟上面配置的那个路径一致。

  • Editable Email Notification配置,这个是jenkins在测试完成之后发自动给你发邮件

在这里插入图片描述
在这里插入图片描述

到这一步已经把项目的主要配置已经设置好了,但是你发送邮箱需要在全局中设置一下

9)安装Email Extension Plugin插件(全局邮箱模版配置)

进入系统管理

在这里插入图片描述

点击进入系统配置,找到Email Extension Plugin

在这里插入图片描述

如果jenkins没有的话需要安装,安装完成之后去设置这个插件的内容,位置:系统管理 - > 系统配置 - > 往下翻找到这个插件

在这里插入图片描述

在这里插入图片描述

邮件内容的设置内容可参考模版:https://app.yinxiang.com/fx/b79b45ef-96cf-47fe-8501-9d58d1cfc480

在这里插入图片描述

最终达到的收件效果

三、配置完成

到这,全部的jenkins项目配置基本完成,可以点击立即构建测试一下

在这里插入图片描述
在这里插入图片描述

可以看到这个已经根据我们刚刚设置的定时任务了,每5分钟构建一次,但是这里构建失败,需要查找下原因。

错误解决:

错误1:

原因:源码管理的giturl地址不正确
解决办法:复制gitlab上项目的HTTP克隆地址即可

在这里插入图片描述
错误2:

原因:jenkins上的模块没有安装chardet模块,如果报的是这种错误,那就说明你的环境基本没啥大问题了,只要把这些模块安装好就可以。

在这里插入图片描述

http://www.zskr.cn/news/12937.html

相关文章:

  • 解析01背包 - 教程
  • 电脑显示器黑屏(闪烁:隔几秒中黑一两秒),向日葵远程正常——DeepSeek问答
  • 消息队列Apache Kafka教程 - 指南
  • 9.21~9.27 周总结
  • 原码 反码 补码
  • Spring Framework 远程命令执行漏洞
  • python基本脚本要素
  • pip安装依赖包报错内容为User defined options,Native files 如何解决
  • edu 107 E(概率期望, dp)
  • Spring MVC的双向数据绑定
  • STM32定时器(寄存器与HAL库实现) - 实践
  • 微前端中iframe集成方式与应用微前端框架方式对比
  • 2025黄鹤杯线上wp
  • 一条频率信道是什么?
  • Unigine整合Myra UI Library全纪录(3):整合与优化
  • 实用指南:AI 时代的安全防线:国产大模型的数据风险与治理路径
  • 写给自己的年终复盘以及未来计划
  • 白居易-那个寒冷的夜晚,思念像潮水般袭来。想得家中夜深坐,还应说着远行人。
  • Metasploit Framework 6.4.90 (macOS, Linux, Windows) - 开源渗透测试框架
  • 秦岭迎来大丰收,徒步才能抵达的村庄,藏着有钱难买的山货!
  • 那些诗词那些花|君不见此玫瑰于晚秋的夜色中凄然绽放,别具一格。
  • Apache Doris性能优化全解析:慢查询定位与引擎深度调优 - 教程
  • 秋风中的窘境,一代诗圣的安居梦
  • 辛弃疾:明月团团高树影,十里水沉烟冷
  • MCP协议:重构AI协作的未来,打破模型边界的技术革命! - 详解
  • Go与C# 谁才更能节省内存? - 详解
  • shiro反序列化及规避检测
  • Altium Designer(AD)自定义PCB外观颜色 - 实践
  • C++23特性全解析:从编译器支撑矩阵到多维数组性能优化实战
  • 2025 年地坪研磨机厂家推荐榜单:盘点 TOP 品牌的格力,宁德时代等标杆客户合作案例