接口测试是保障负责系统质量内在要求和低成本的经济利益驱动作用下的最佳方案 xinxi,公众号:测试加接口自动化测试多场景实践 - 上篇
本文继续上篇,继续介绍接口自动化测试多场景实践 。
但是在Eolink中可以使用API管理中导入历史录入的API信息,如果没有的话再使用手动创建监控API。
如下图,可以点击从API管理导入按钮,在项目列表中可以选择历史创建的项目并且选择要监控的接口即可。
1、但是在Eolink中不需要这么干,因为Eolink定位是一站式API管理平台,其内置了接口监控功能。Eolink实现的监控节点,并不是在本地进行监控,而是使用云监控方案,采用全国各地的监控节点,这样的优点是,可以覆盖全国的网络节点,提前发现接口在某些区域网络下可能存在的问题。
2、编写接口监控Case: 在传统方案中,需要熟悉代码语言和框架才能上手编写接口监控Case,有一定的学习成本。但是在Eolink的学习成本基本上是零,在页面上输入参数即可。
另外Eolink支持单API监控和API流程监控,单API监控是指一个接口发送请求完成就可以结束了,API流程监控是把某些接口串联起来,比如从商品浏览 > 下单 > 支付等串联业务。
3、接下来我们看看Eolink是如何完成编写接口Case的,首先需要选择API流程监控,点击从API文档导入测试信息。
在导入API信息中,选择需要的业务接口。
4、在执行步骤中可以看到刚才添加的测试步骤,从而形成一个API流程监控。这个功能比较适合后台功能模块和业务管理较强的接口。
5、调试监控脚本: 在传统方案中,调试脚本需要在本地执行脚本命令。在Eolink中只需要在页面中选择需要监控的接口,并且点击编辑按钮即可。
可以修改API监控的基础信息包括:API请求地址、API分组、API名称、API监控的项目环境等。
结果校验规则: API测试用例支持5种校验方式:
校验方式 | 描述 |
---|---|
不校验 | 无论返回结果是什么,均认为测试通过 |
校验状态码 | 判断响应头部中的HTTP Status Code |
校验JSON | 判断响应结果的JSON结构和参数值,可以判断对象、数组、字段等信息 |
校验JSON Path | 判断响应结果,可以使用JSON Path表达式提取字段验证 |
校验XML | 判断响应结果的XML结构和参数值,可以判断对象、数组、字段等信息 |
完全匹配 | 判断响应结果是否等于预期结果 |
正则匹配 | 通过正则表达式去匹配响应结果,如果匹配的结果集不为空,则认为测试通过 |
6、定时监控: 在传统方案中,需要借助Jenkins外部工具进行定时监控。在Eolink中可以在本地创建监控任务,然后把任务发送到云端进行定时监控。
选择一个需要监控的接口,把监控频率选择10分钟一次,监控频率可以根据业务需要自行调整。
7、你可以在接口监控报告页面看到当前项目在选定的时间段内的整体监控概况,包括:所有监控节点(地区)的监控状态、指定监控节点(地区)的监控状态、API 监控状态统计等。
进入 API 的监控详情页,选择时间段为 实时,此时页面会显示该 API 最新一次的监控报告,可以看到API最新一次请求的各阶段时间分析:总时间、重定向时间等。
进入测试报告页面,在这里会列出所有手动批量测试、定时测试、Open api测试的测试报告。你可以点击下载按钮,将某次测试历史下载为HTML文件。测试报告的HTML文件中会详细记录该次测试报告的所有信息。
数据库操作的作用是可插入数据库操作步骤和自定义脚本步骤,实现数据库增删查改和初始化操作,并进行复杂灵活的处理。
使用数据库操作的场景最常见的是:
接下来我们来演示一下在日常接口测试中最常见的请求接口后查询 API 操作是否对数据库生效的场景。
1、首先需要切换到API 自动测试空间,点击公共资源可以看到数据库连接。
2、在数据库配置配置页面,可以自定义数据库连接名称,支持Mysql、Oracle、PostgreSQL三种数据库类型,需要手动输入数据库连接的配置: 项目环境名称、数据地址、端口号、数据库名称、用户名、密码等参数,可以点击测试按钮验证数据库是否能正常连接。
需要注意的是: 设置每个项目环境下使用不同的数据库连接信息,当系统找不到某个环境下的数据库连接信息时会自动使用默认的连接配置。
3、数据库连接配置完成后,需要在测试用例中添加数据库操作步骤才能真正使用到数据库。
在创建商品接接口测试用例详情页面中,点击添加测试步骤下拉菜单,选择添加数据库操作。
4、在数据库步骤编辑页面,输入步骤的名称,选择之前已经创建好的数据库连接。在编写SQL区域编写通过主键ID查询的商品名称语句。另外,在SQL语句输入框填写需要执行的SQL语句,可以填写多条SQL语句,每条语句使用分号“;”进行分隔。
在SQL语句中使用 ${shop_id} 可以作为变量,该变量可以从创建商品接口中的响应结果中返回值提取
select shop_name from shop where shop_id=${shop_id}
对于SQL查询返回结果,也可以提取成变量可被后续测试步骤引用
$db_param_shop_name = "eo_default_value";
可以将需要重复使用的 Javascript 代码保存为自定义函数,方便在 API 的预处理或自动化测试脚本中使用 。
为了便于模拟演示效果,我们来模拟一个测试案例。在请求接口前,使用自定义函数修改请求头参数。
1、在自定义函数列表中,可以看到函数的基本信息:
为了降低对自定义函数的使用门槛,提供内置快捷方式功能: 发送网络请求、自定义全局变量、项目环境参数、编解码功能。另外,还提供了内置函数手册方便大家学习,https://help.eolink.com/#/tutorial/?groupID=c-709&productID=13。
2、在API测试的API脚本标签页点击 插入自定义函数 按钮。
3、在弹窗中选择需要插入的函数,系统会自动在光标处插入自定义函数的调用代码。
4、在前置脚本代码块中选择 自定义函数,并且给source变量赋值。
let source="eolink"
eo.userFunction.request_edit_header(source)/*修改请求头*/
在测试页点击发送按钮后,在请求头部区域可以输出调用自动定义函数的参数指souce等于eolink。
DevOps中引入自动化流水线测试的主要优势在于通过持续集成手段,引入Devops理念,将测试工作通过持续集成方式不断的进行自动化演进,针对于业务场景变更频繁的黑盒功能测试,代码库内容变更频繁的白盒测试,Devops测试方式能够更好的对软件交付相关的质量能力负责。
DevOps自动化流水线中结合API接口自动化测试是质量保障中重要的一环,在本文中可以结合Eolink的API 插件实现。
eolink-jenkins-plugin插件是依托于Jenkins环境使用,需要手动或者自动在Jenkins上 安装,手动安装需要通过官方提供的七牛云下载链接获取最新安装资源包,下载地址:https://public.eolinker.com/devops/plugin/eolinker-jenkins-plugin.hpi?attname=eolinker-jenkins-plugin.hpi。在 Jenkins Manage Plugins 的 Advanced 页签 Upload Plugin 中选择待上传安装的资源包,之后点击 Upload 即可
点击提交按钮后,就开始从网络下载eolink-jenkins-plugin插件,下载完成后需要重新Jenkins。
进入待构建项目的 Configure 页签中即可进行 Eolinker API 自动化测试行为构建,具体构建步骤如下:
填写插件配置
后置处理脚本:项目构建完之后执行, 可以处理查询报告 Open API 返回的数据或者清理下载的报告。
如何引用查询报告 Open API 的响应参数,用{ { } }
表示变量,jsonpath 来作为变量名。
若希望获取测试状态。可通过{ { $.result.test_status } }
来拿取相应信息。
在DevOps自动化流水线中,可以在测试环境构建成功后自动化触发当前Jenkins任务完成自动化测试。
点击测试报告 https://export.eolink.com/eoLinker_case_test_report_1669812365384477.html?attname=,可以看到本次的测试概览: 总耗时、通过率、测试用例执行情况等指标。
可以看出Eolink在接口自动化测试多场景的支持能力很强,主要总结有如下几点:
综上总结,Eolink一款综合性比较强的工具,不管在新项目还是老项目中,Eolink确实都是一个不错的选择。
eolink产品体验地址如下,支持win、mac、linux多平台, https://www.eolink.com/?utm_source=qyzzh&utm_medium=ceshijia&utm_content=xinxi09