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

相关推荐
失散1310 小时前
分布式专题——47 ElasticSearch搜索相关性详解
java·分布式·elasticsearch·架构
铭毅天下13 小时前
Elasticsearch 到 Easysearch 数据迁移 5 种方案选型实战总结
大数据·elasticsearch·搜索引擎·全文检索
ThreeAu.14 小时前
pytest 实战:用例管理、插件技巧、断言详解
python·单元测试·pytest·测试开发工程师
Elastic 中国社区官方博客17 小时前
Elasticsearch 推理 API 增加了开放的可定制服务
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
yumgpkpm19 小时前
华为鲲鹏 Aarch64 环境下多 Oracle 数据库汇聚操作指南 CMP(类 Cloudera CDP 7.3)
大数据·hive·hadoop·elasticsearch·zookeeper·big data·cloudera
Elastic 中国社区官方博客20 小时前
AI Agent 评估:Elastic 如何测试代理框架
大数据·人工智能·elasticsearch·搜索引擎
黑马金牌编程21 小时前
Jenkins的Linux与window部署方式
linux·运维·windows·jenkins·持续集成·cicd
我的xiaodoujiao1 天前
使用 Python 语言 从 0 到 1 搭建完整 Web UI自动化测试学习系列 18--测试框架Pytest基础 2--插件和参数化
python·学习·测试工具·pytest
Elasticsearch1 天前
在 Elasticsearch 中解析 JSON 字段
elasticsearch
weixin_307779131 天前
在Linux服务器上使用Jenkins和Poetry实现Python项目自动化
linux·开发语言·python·自动化·jenkins