yapi中实现自动化接口测试后(包括请求参数化,header参数化),在Jenkins中集成构建

前言

  • 今天给大家介绍一下yapi这个工具怎么实现接口自动化测试,并能集成自动构建;为什么用yapi这个工具呢!明明接口测试的工具那么多,那是因为我们公司的研发用的yapi这个工具(),且这个工具有测试功能,虽然不知道这个工具还有没有在维护了。

写测试用例

首先我们先直接编一个测试用例,这个时候,yapi的优势就出来了,我们直接把研发的接口生成我们的测试集合就好,不用我们在写一次接口信息,方便~~~


在这里插入图片描述

对执行环境,请求header,请求参数,进行设置,运行


在这里插入图片描述

运行成功后,考虑到作为一个测试用例,肯定有断言,所以我们也需要
注:Test 脚本只有做自动化测试才执行

刚刚我们看到,在响应中body的status,对应数据为true,所以我们断言就可以用这个


在这里插入图片描述

在这里插入图片描述

批量测试用例执行,并断言

我们重复上面的步骤,进行测试用例的编写(其实就是不同传参、不同断言),完成后,我们就可以在集合中看到我们编写的测试用例。


在这里插入图片描述

这个界面我们就可以批量的执行它,并且可以看到单个的测试报告和整体的测试报告。


在这里插入图片描述
在这里插入图片描述

这里是我断言验证失败,有不同的显示,并且测试报告中验证结果有解释,可以看到具体情况


在这里插入图片描述

在这里插入图片描述

这里就是断言通过

下面再简单介绍一下通用规则配置:


在这里插入图片描述

这里就是对这个测试集合的用例进行统一配置,有HttpCode、返回json、数据结构、全局测试脚本,就不用在每个用例下面进行test配置了,方便编写、配置、管理,注意,这里配置过后,之前设置的test配置也会生效,但是,尤其是全局脚本,会优先调用全局脚本,只有全局脚本通过测试,才会开始跑case自定义的测试脚本。

请求参数化(请求参数、header参数)

其实请求参数和header参数化都是一样的道理,原理和操作都是一样的.
注意:参数化的话,我们一定要在实现参数化之前,引用的参数是之前执行过的那个用例,不然会导致参数化找不到对应的编号用例。

请求参数

先说请求参数化,在需要对应参数的那个用例已经完成的前提下,按照一定的格式进行编写就OK了

{{ $.17.body.message }} //id为17的用例的返回里的message字段的值
{{ $.17.params.type }} //id为17的用例的请求里的type字段的值
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

上面3张图片就是我参数化的操作及思路,首先我们在测试集合中每个测试用例都有一个对应的id,然后我们在需要参数化的那个测试用例中去找我们在之前的那个用例中需要响应中的哪些参数,然后以固定的格式进行请求就OK了!

header参数化

header参数化同理,也是一样的操作。公司的研发人员为了接口的安全性考虑,不能让随便那个人都有权限进行接口执行,肯定会设置一定的权限,所以就肯定会涉及到token,但是token又有一定的时效性,所以我们就要想啊,这个token是哪里来的,后面的接口怎么引用的。
以我们公司的项目为例,有权限的接口里面的token都是以一下方式实现的


在这里插入图片描述

存在header中,对应key:Authorization,value为:Bearer +token

token呢,又是在登录后拿到的,我找到登录接口,对登录接口的响应数据进行分析
在这里插入图片描述

是对应在body的access_token中,所以就有了下面的参数化
在这里插入图片描述

就此我们的参数化完成

另外,还有一点,我们总体的生成的阶段性测试报告在这个蓝色的地址中


在这里插入图片描述

[图片上传失败...(image-25f3b6-1612255489108)]
注意:我这里踩了一个坑,我加了一个新的环境配置,每当我手动批量执行用例时,选择对应的环境,都可以成功,但是看我总体的测试报告的时候却失败了,经过分析,原来是我的自动化参数的环境没有在默认环境的位置,所以我就直接把这个有参数的环境拖到最上面,让他变成默认环境,就此OK~!
在这里插入图片描述

Jenkins中集成构建

Jenkins这个工具公司内部也一直在用,不管是研发还是测试,后面可能还会实现自动化部署线上(运维)。
大家不清楚这个工具的话,可以自行百度哈,多多了解没有坏处。
第一步: 在Jenkins中安装需要的插件, Groovy Postbuild,后面配置的时候需要

在这里插入图片描述

第二步: 新建一个项目,自由风格就行,在进行配置
在这里插入图片描述

第三步: 构建模块中选择:Execute shell
在这里插入图片描述

填入一下内容,目的是创建一个文件夹,文件夹以时间节点为名称,且将执行后的测试报告保存在这个文件夹中。

FN=`date +%Y%m%d%H%M%S`
mkdir $FN
curl -o ./$FN/能耗.html "http://192.168.4.240:3001/api/open/run_auto_test?id=140&token=51aee1fccc6b30767b24021351b0edae8ed1d8dd97b5ac5e2c8a9bd2829f292e&mode=html&email=false&download=false"

第四步: 构建后操作,选择刚刚我们新加的插件:Groovy Postbuild

在这里插入图片描述

填写一下代码,由于直接生成的报告格式显示错乱,需要格式化生成的报告

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","")
在这里插入图片描述

yapi中实现自动化接口测试后(包括请求参数化,header参数化),在Jenkins中集成构建就此结束,欢迎大家多多纠正,谢谢!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 196,165评论 5 462
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,503评论 2 373
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 143,295评论 0 325
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,589评论 1 267
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,439评论 5 358
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,342评论 1 273
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,749评论 3 387
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,397评论 0 255
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,700评论 1 295
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,740评论 2 313
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,523评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,364评论 3 314
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,755评论 3 300
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,024评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,297评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,721评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,918评论 2 336

推荐阅读更多精彩内容

  • 1 添加测试集合 点击:测试集合,可以编辑测试集合名称,点击【导入接口】 弹框显示接口列表信息,勾选测试的接口并点...
    LittleJessy阅读 15,578评论 1 7
  • 文章摘要:追求代码质量一直都是优秀程序员对自己的目标,那么有什么好方法能够实现这个目标? 在每个系统上线正式发布之...
    癫狂侠阅读 1,614评论 1 11
  • 一、YApi介绍 YApi旨在为开发、产品、测试人员提供更优雅的接口管理服务。可以帮助开发者轻松创建、发布、维护 ...
    二俊_5254阅读 1,099评论 0 1
  • 背景 越来越多的应用基于前后端分离构建,后端提供数据接口,前端调用接口返回 json 数据渲染到 UI,这个时候保...
    蜀山客e阅读 202评论 0 0
  • 最近接到一个接口自动化测试的case,并展开了一些调研工作,最后发现,使用pytest测试框架并以数据驱动的方式执...
    行者AI阅读 920评论 0 1