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账号)
- 举例:将代码上传到公司内部的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文件夹是否在其中:
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模块,如果报的是这种错误,那就说明你的环境基本没啥大问题了,只要把这些模块安装好就可以。