前言:我们学习了前面两章自动化介绍以后,基本可以写用例,写脚本运行了,后面的学习代码知识,就要自己去深入了,下面我们这章节说一下,怎么用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持续集成相关推荐

  1. python自动化框架pytest接口关联串联_基于python接口自动化框架搭建_pytest+jenkins+allure...

    本接口测试框架使用python语言实现,基于pytest测试框架,同时集成Jenkins和Allure 核心特性 封装requests请求,使用装饰器模式 详细的请求日志输出 环境与数据隔离,实现不同 ...

  2. (0082)iOS开发之搭建iOS自动化打包平台(利用Jenkins持续集成iOS项目)

    关键词:iOS jenkins自动化部署 参考: http://blog.csdn.net/u013602835/article/details/54632843 http://www.cocoach ...

  3. Linux部署python接口自动化教程,基于centos7 python3

    Linux部署python接口自动化教程 1.安装jenkins 2.安装插件和依赖 **安装allure插件(测试报告)** **配置allure依赖** 安装python3.x依赖环境 **安装p ...

  4. Gitlab+jenkins持续集成+自动化部署(三)

    搭建gitlab+Jenkins自动化部署 在jenkins上安装插件 Build Authorization Token Root Plugin. Build Authorization Token ...

  5. 分享|涨薪必备的Python接口自动化测试资源技能一键get

    终于回归正常工作节奏 重新拾起去年的摊子 Q1已经过去三分之二 应该有不少人 去去去去年春节立下的Flag 至今还没实现 而今年2020年-- 好像或许可能也实现不了 偶尔会看到有测试盆友抱怨 领导明 ...

  6. 如何在项目中搭建python接口自动化框架?

    文章目录 前言 一.框架目录介绍 1.common模块 读取Excel代码 读取yaml代码(支持场景关联) jsonpath断言封装代码 requests二次封装(get.post) configp ...

  7. python接口自动化5-Json数据处理

    前言 有些post的请求参数是json格式的,这个前面第二篇post请求里面提到过,需要导入json模块处理. 一般常见的接口返回数据也是json格式的,我们在做判断时候,往往只需要提取其中几个关键的 ...

  8. python接口自动化-参数化

    原文地址https://www.cnblogs.com/yoyoketang/p/6891710.html python接口自动化 -参数关联(一)https://www.cnblogs.com/11 ...

  9. python接口自动化4-绕过验证码登录(cookie)

    前言 有些登录的接口会有验证码:短信验证码,图形验证码等,这种登录的话验证码参数可以从后台获取的(或者查数据库最直接). 获取不到也没关系,可以通过添加cookie的方式绕过验证码. 一.抓登录coo ...

最新文章

  1. 有这一篇机器学习全够了
  2. UITableView 关键操作
  3. 建造者模式与原型模式/builder模式与prototype模式/创建型模式
  4. cmd静默运行_【已解决】BAT批处理中如何静默执行,在完成后调用MSGBOX?
  5. dbinfo.properties mysql_java 8.0Mysql 助手类
  6. 用摸鱼学来解释隐马尔可夫模型(HMM)
  7. leetcode python3 简单题108. Convert Sorted Array to Binary Search Tree
  8. oracle系列(二)oracle体系结构和用户管理
  9. 【讨论帖】你认为怎么注释是比较合理妥当的方式
  10. C++面试题:list和vector有什么区别?
  11. 时间操作(struct tm、time_t)求指定日期 前n天的日期
  12. iOS 获取设备的方向
  13. chrome os 安装手册
  14. (转)驾驶证到期换证指南
  15. PPT画图如何保存600dpi以及消除白边问题
  16. MATLAB-xcorr函数
  17. @RequestBody、 @RequestParam 、 @PathVariable 和 @Vaild 注解的使用及区别
  18. Redmi K20 Pro 编译 PixelExperience
  19. 三体归零者和盘龙鸿蒙,《三体》里归零者那么厉害,为什么不能逆转降维打击?...
  20. ecshop系统前后台出现的几个错误修正升级到PHP5.6后

热门文章

  1. 联想小新310-14isk笔记本内存条的等等事
  2. 版权变更有哪些流程?
  3. 群发微信图文消息,但是正文中的图片却不显示
  4. QT打包完整教程 超详细
  5. MT9630/9632 遥控器配置
  6. python听歌识曲爬虫_Python爬取网易云音乐热门评论的搜索结果-阿里云开发者社区...
  7. CSS转换动画与移动web
  8. python控制excel选择区域_python针对excel的操作技巧
  9. 【C语言--文件】(详细解读)
  10. Ubuntu安装SS及win10下客户端使用指南