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

Jenkins部署

前置准备:

本地安装Git

Git安装教程地址

一、版本控制

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

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

  • 举例:将代码上传到公司内部的gitlab代码仓库系统,打开gitlab系统,如下步骤所示:

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文件夹是否在其中:

python 复制代码
 ls -la 

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

python 复制代码
git add .

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

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

python 复制代码
git commit -m "说明/描述"

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

python 复制代码
git push origin master

11)查看GitLab

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


12)更新推送代码

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

python 复制代码
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


输入如下命令:

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

重点:requirements.txt 文件来源

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

python 复制代码
# 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模块,如果报的是这种错误,那就说明你的环境基本没啥大问题了,只要把这些模块安装好就可以。

相关推荐
勇哥的编程江湖34 分钟前
flinkcdc streaming 同步数据到es记录过程
大数据·elasticsearch·flink·flinkcdc
曾阿伦35 分钟前
Elasticsearch 7.x 常用命令备忘录
大数据·elasticsearch·搜索引擎
斯特凡今天也很帅1 小时前
Elasticsearch数据库专栏(二)DSL语句总结(更新中)
大数据·elasticsearch·搜索引擎
要记得喝水1 小时前
适用于 Git Bash 的脚本,批量提交和推送多个仓库的修改
git·elasticsearch·bash
二十七剑2 小时前
Elasticsearch的索引问题
大数据·elasticsearch·搜索引擎
A__tao10 小时前
Elasticsearch Mapping 一键生成 Java 实体类(支持嵌套 + 自动过滤注释)
java·python·elasticsearch
A__tao12 小时前
Elasticsearch Mapping 一键生成 Proto 文件(支持嵌套 + 注释过滤)
大数据·elasticsearch·jenkins
Devin~Y12 小时前
高并发电商与AI智能客服场景下的Java面试实战:从Spring Boot到RAG与向量数据库落地
java·spring boot·redis·elasticsearch·spring cloud·kafka·rag
小叶lr13 小时前
jenkins打包前端样式丢失/与本地不一致问题
运维·前端·jenkins