接口自动化测试实践指导(下):接口自动化测试断言设置思路

在前篇文章:
《接口自动化测试实践指导(中):接口测试场景有哪些》中详细给小伙伴们讲解了一下接口自动化需要做哪些准备工作及接口测试场景有哪些。

本篇文章是最后一篇,主要分享一下接口自动化测试断言设置思路。

如果没有好的断言,自动化用例效果将大大打折扣,甚至是无用的,前期的很多工作都因此浪费。

这里我继续结合自身经验,帮助大家梳理一下,希望有所帮助和提升。


1、断言设置思路

这里总结了我在项目中常用的 5 种断言方式,基本可能满足 90% 以上的断言场景,具体参见如下脑图:

下面分别解释一下图中的五种思路:

1. 响应码

对于 http 类接口,有时开发人员只是通过设置接口响应码来反应接口是否成功,这时我们的断言就需要检查接口响应码是否符合预期来判断用例是否执行成功。

2. 验证关键字段值

一般接口中会设有专门的字段来反馈接口成功与否的信息。

比如:msg 字段,经常好多接口通过该字段反应后台的处理情况,如果成功会返回成功信息,失败会返回失败原因。

这样我们测试时可以直接校验该字段值来判断用例是否执行成功。

3. 正则匹配

当一个接口返回内容比较多时,但有一定规则可寻,我们可以借助正则表达式来校验检查。

4. 数据库匹配核对

要对一个查询类接口的返回数据进行验证,我们可以采用编写 SQL,到数据库查询结果。

然后将数据库结果与接口返回结果进行核对检查,这样就能比较准确的验证接口返回数据的正确性。

5. 相关接口辅助验证

举个例子,比如测试一个删除接口,删除了一条记录后,如何验证接口真的把记录删除成功了?

可以再调用查询接口,检查被删除的记录是否真的查询不到了,那就说明删除真的成功了。


2、断言设置实战演示

基于上面的断言思路,接下来,我通过实际例子给大家做一下展示,这里通过两种平台工具来展示:

  • 一种是开源好用的 Jmeter;

  • 另一种是之前给大家推荐的 Eolink 平台,Eolink 平台因为支持自定义脚本,且平台提供了很多内置函数,也可以像 Jmeter 一样灵活实现上述 5 种断言思路。

下图展示一下 Eolink 平台的自定义脚本功能:


1. 响应码断言展示

如果一个接口需要通过接口请求的响应码来断言,判断是否达到预期结果,Jmeter 工具的实现如下:

说明:该用例会返回 400 的错误码,断言设置校验响应码是否为 400,如果等于 400 表示用例执行成功,否则失败。

再展示一下用 Eolink 的实现效果:


2. 验证关键字段值

如果一个接口需要通过响应结果中出现某个关键词来判断是否达到预期结果,可以采用验证关键字段值的断言方式,用 Jmeter 工具实现如下:

说明:该用例通过检查接口返回字段 msg 的值 是否为“您没有登录,请重新登录”来判断用例是否执行成功。

再展示一下用 Eolink 的实现效果:


3. 正则匹配

如果一个接口返回的响应结果是不断变化的,但结果符合某个预期的规则,这时可以采用正则匹配的方式来断言,用 Jmeter 工具实现如下:

说明:通过正则匹配,除了验证某个符合预期规则的字段值,可以用于匹配检查接口返回样式,匹配成功了,说明用例执行通过。

再展示一下用 Eolink 的实现效果:


4. 数据库匹配核对

针对一个查询类接口,如果想详细验证返回结果的各个字段,可以采用数据库匹配核对方式来断言,用 Jmeter 工具实现如下:

说明:对于一个查询类用例,通过查询数据库,然后将接口返回结果与数据库返回结果进行对比,对比成功说明用例执行通过。

再展示一下用 Eolink 的实现效果:

执行结果:


5. 相关接口辅助验证

很多接口的验证需要依赖其他相关接口来判断,实现起来会稍微复杂些,但断言效果非常好,先用 Jmeter 工具给大家展示一下:

说明:对于部署接口是否成功的验证,我这边通过查看部署日志接口来辅助验证。

当部署日志接口中获取到部署成功日志打印后,就说明用例执行通过。

再展示一下用 Eolink 的实现效果:

  • 有两种方式,一种步骤中添加相关接口,提取相应内容,后续做判断。

Eolink 平台有着非常丰富易用的功能,帮助项目团队更好的对 API 接口进行管理和测试。

最后,再补充介绍一下该平台对于 API 接口测试方面的某系高级功能:

1)与 API 文档关联与自动同步

在测试用例中,绑定 API 文档之后,当 API 发生变化时,您可以一键将文档内容同步到测试步骤中,减轻维护用例的成本。


2)0 代码,拖拉拽完成测试流程编排

平台支持拖拉方式进行复杂多接口链路的场景编排,减轻脚本维护工作量。


3)对数据库进行操作

平台也支持在自动化用例中添加对数据库的操作,常用于以下场景:

  1. 测试前对数据库插入测试数据。

  2. 清除脏数据。

  3. 查询 API 操作是否对数据库生效。


4)定时自动测试

该平台也支持自动化用例定时执行,减少人为的干预,进一步降低执行成本。

综合来看,Eolink 平台功能十分强大,除了能像 Jmeter 一样灵活实现各类接口场景的自动化测试,还有丰富的 API 管理、API 监控、API 市场功能。

帮助整个研发团队高效实现 API 全流程的管控,可以说是非常强大易用的一款 API 管理测试平台。

至此,接口自动化测试实践指导三篇文章全部完结,希望测试小伙伴们看后能有所收获,后续要多多实践,才能很好提升自动化测试能力。


相关阅读:

《接口自动化测试实践指导(上):接口自动化需要做哪些准备工作》

《接口自动化测试实践指导(中):接口测试场景有哪些》

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

推荐阅读更多精彩内容