python接口自动化搭配Gitlab 和jenkins持续集成
前言:我们学习了前面两章自动化介绍以后,基本可以写用例,写脚本运行了,后面的学习代码知识,就要自己去深入了,下面我们这章节说一下,怎么用jenkins 搭配gitlab 进行接口自动化的持续集成使用
PS:由于我们本次测试服务器是用的windows系统,所以本次的内容围绕着windows系统的部署进行,jenkins的安装配置和搭建就直接跳过了(包括服务器的jdk安装以及配置环境变量等)
前提条件:jenkins已经搭建好了,接口自动化的代码,也已经在gitlab上了,服务器也安装了Git,和python,jdk并且都已经配置好了环境变量
一:虚拟环境的安装
由于我们是用python写的,而python中为了区分每个不同的项目依赖问题,可以用虚拟环境进行很好的隔离解决,一般情况下,pycharm虽然默认的创建虚拟环境,
会在项目的根目录,创建一个venv的文件夹,作为当前项目的虚拟环境,但是我们用了git多分支协同开发以后,肯定会配置 .gitignore文件,把环境进行忽略,防止
你传了的环境以后,别人拉下来的代码本地也有环境,产生的环境冲突,我们本地运行代码需要环境依赖,那么jenkins跑的时候,是从gitlab拉取代码到jenkins工作路径,
根据你输入的构建命令进行运行的,我们服务器当然也要安装虚拟环境
1.1 python自带的虚拟环境创建
python3 -m venv path\环境名称 比如示例 python3 -m venv base_venv 那也就是表示在当前路径下,创建了一个base_venv的虚拟环境
我们创建的时候,需要注意路径问题,保证你以后能找到,并且,保持良好的习惯,所有和代码相关的路径,全部用英文,不要出现中文,哪怕用拼音也比用中文好
创建好了虚拟环境以后,我们可以在当前目录看到如下:
1.2 激活(进入)虚拟环境(我们用到的就是激活,别的命令这里就不介绍了)
我们安装项目依赖的时候,要先激活虚拟环境,windows激活的方式呢,就是在虚拟环境的 Scripts目录下,输入activate 进行激活
比如下方
1.3 我们把项目中批量安装依赖的文件(requirements.txt),也放到Scripts目录下(注意pip安装 最好改一下镜像,否则很慢)
pip install -r requirements.txt 为虚拟环境安装依赖包即可,如果我们后面运行的时候,发现依赖还少,那就自己再安装缺少的依赖 pip install 依赖即可
我们安装依赖的原因是,跑的python代码依赖这些第三方包,安装成功后,看一下是不是成功了, pip list 进行查看,如果有显示包以及对应版本,说明安装成功
二:jenkins安装需要的插件
2.1 GitLab Plugin 安装
2.2 Git Plugin 安装,如下图,看介绍是哪个核对下,安装即可
2.3 Allure Jenkins Plugin 我们是用allure生成测试报告的,所以,需要安装这个插件
2.4 依赖安装好了以后,我们顺便再看看git 有没有问题,找到 Global Tool Configuration, 如下图所示进行操作
三:配置jenkins构建相关
3.1 新建一个项目,入口:新建Item–>输入项目名–>选择自由风格项目,创建即可(项目名和gitlab中的项目名一致)
3.2 配置说明
3.2.1 配置入口
3.2.2 配置代码源:
3.2.3 配置构建操作(为的就是激活虚拟环境,运行代码)
3.2.4 配置构建后操作,配置allure的两个路径
四:构建
构建成功后,查看报告即可
python接口自动化搭配Gitlab 和jenkins持续集成相关推荐
- python自动化框架pytest接口关联串联_基于python接口自动化框架搭建_pytest+jenkins+allure...
本接口测试框架使用python语言实现,基于pytest测试框架,同时集成Jenkins和Allure 核心特性 封装requests请求,使用装饰器模式 详细的请求日志输出 环境与数据隔离,实现不同 ...
- (0082)iOS开发之搭建iOS自动化打包平台(利用Jenkins持续集成iOS项目)
关键词:iOS jenkins自动化部署 参考: http://blog.csdn.net/u013602835/article/details/54632843 http://www.cocoach ...
- Linux部署python接口自动化教程,基于centos7 python3
Linux部署python接口自动化教程 1.安装jenkins 2.安装插件和依赖 **安装allure插件(测试报告)** **配置allure依赖** 安装python3.x依赖环境 **安装p ...
- Gitlab+jenkins持续集成+自动化部署(三)
搭建gitlab+Jenkins自动化部署 在jenkins上安装插件 Build Authorization Token Root Plugin. Build Authorization Token ...
- 分享|涨薪必备的Python接口自动化测试资源技能一键get
终于回归正常工作节奏 重新拾起去年的摊子 Q1已经过去三分之二 应该有不少人 去去去去年春节立下的Flag 至今还没实现 而今年2020年-- 好像或许可能也实现不了 偶尔会看到有测试盆友抱怨 领导明 ...
- 如何在项目中搭建python接口自动化框架?
文章目录 前言 一.框架目录介绍 1.common模块 读取Excel代码 读取yaml代码(支持场景关联) jsonpath断言封装代码 requests二次封装(get.post) configp ...
- python接口自动化5-Json数据处理
前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的 ...
- python接口自动化-参数化
原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...
- python接口自动化4-绕过验证码登录(cookie)
前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...
最新文章
- 有这一篇机器学习全够了
- UITableView 关键操作
- 建造者模式与原型模式/builder模式与prototype模式/创建型模式
- cmd静默运行_【已解决】BAT批处理中如何静默执行,在完成后调用MSGBOX?
- dbinfo.properties mysql_java 8.0Mysql 助手类
- 用摸鱼学来解释隐马尔可夫模型(HMM)
- leetcode python3 简单题108. Convert Sorted Array to Binary Search Tree
- oracle系列(二)oracle体系结构和用户管理
- 【讨论帖】你认为怎么注释是比较合理妥当的方式
- C++面试题:list和vector有什么区别?
- 时间操作(struct tm、time_t)求指定日期 前n天的日期
- iOS 获取设备的方向
- chrome os 安装手册
- (转)驾驶证到期换证指南
- PPT画图如何保存600dpi以及消除白边问题
- MATLAB-xcorr函数
- @RequestBody、 @RequestParam 、 @PathVariable 和 @Vaild 注解的使用及区别
- Redmi K20 Pro 编译 PixelExperience
- 三体归零者和盘龙鸿蒙,《三体》里归零者那么厉害,为什么不能逆转降维打击?...
- ecshop系统前后台出现的几个错误修正升级到PHP5.6后