写在前面
接口测试中,多接口串联,数据驱动测试,以及接口现网实时监控是我们经常会遇到的实际问题,贴合业务实际情况,在以上场景中,如何应用星海提高后台服务正确性、稳定性与性能。
【测试场景】
- 【多用例串联场景功能测试】顺序调用多个接口、传递参数形成形成多接口串联功能场景测试用例,验证整体功能正确性。
- 【现网服务实时监控】至多秒级监控线上服务,服务出现问题时第一时间告警。
- 【数据驱动测试】自动化向一个或一组用例输入多至一万组数据并驱动执行,大幅降低用例编写成本及用例可维护性。
【多接口串联功能测试】
场景描述:由于业务场景的复杂程度,我们经常会有顺序调用多个接口、传递参数形成多接口串联功能场景测试用例,验证整体功能正确性的需求。
实践步骤:
1.第一步:调用 A 接口(示例为创建 Action 接口),并提取返回结果中的某个值(示例为 ActionId),并赋值给一个变量(示例将该改变量命名为 Action_id)
响应 body 为
调用 sys_getFromJsonByPath 这个 Action,按路径 data.testActionId 获取到 ActionId,也就是 6488。
2.第二步:调用 B 接口(示例为删除接口),并在请求参数构造里使用上一步变量(Action_id)
使用 ##varname##,可以将变量值嵌套在整个用例的任意步骤中,适用独立使用或字符串拼接。实际执行时,可以通过日志看到,## Action_id ## 已经替换为 6488。
通过参数的获取及传递,可以轻松完成多接口串联的测试场景。
【数据驱动】
场景描述:自动化向一个或一组用例输入多至一万组数据并驱动执行,大幅降低用例编写成本及用例可维护性。
前置条件:已构建含公共变量的用例。
实践步骤:
1.第一步,配置 csv 文件
csv 文件示例:
csv 文件说明:
- 首行为标题行。次行开始为入参值,执行时,将寻找标题行与公共变量同名的列值,赋值给对应的公共变量,执行时,将循环取每一行数据传参入公共变量执行一遍所选用例,生成独立的执行结果。首行为非公共变量值的列,不影响执行
- 第一列的值仅作为子报告执行结果的副标题。建议单独写一列作为标题,使用序号或者其他可识别的命名方式。便于接收微信或钉钉告警
- 最大不能超过 10000 组入参。文件大小不能超过 10 兆
2.第二步,添加多组入参的入口
- 调试时测试多组入参
选择文件后,即可选择测试行号,发起测试。每次仅可调试一组数据
- 用例集配置多组入参
上传多组入参 csv,并选择所选用例即可
说明:
- 若用例集内填写的公共变量值与 csv 填写的公共变量值冲突时,优先使用 csv 入参
- 若公共变量的文件内传参为空,则使用填空区域填写的公共变量值,若均未空,则置空处理
- 用例集内所选的用例中,未使用 csv 文件内涉及的公共变量的,将不会循环执行
- 多组入参行数 X 所选用例数,不可大 于 10000。(为限制单任务最大执行 case 数)
3.第三步,查看报告展示
循环执行的用例,将区别为一个个子任务独立展示结果。展示逻辑与告警逻辑与非一致。
说明:
- 可以筛选选择用例,查看单个用例下的所有入参组的执行情况
- 可在日志查看具体的入参使用情况
【现网服务监控】
场景描述:秒级监控线上服务,服务出现问题时第一时间告警。
前置条件:已在星海平台构建用例集,已创建企业微信机器人或钉钉机器人。
实践步骤:
1.第一步:导航栏 [项目配置]--[告警地址]--[新建告警地址],填写告警 webhook 地址名称,webhook 地址,并点击 “保存”
2.第二步:导航栏 [项目配置]--[通知模板]--[新建通知模板],填写模板名称及请求格式,并点击 “保存”。
3.第三步:导航栏 [接口测试]--[用例集管理]--[创建用例集]
- 用例集是用例的集合,若使用公共变量则需要在用例集里统一赋值
- 填写用例集名称及描述
- 勾选所需用例
- 填写用例所使用公共变量的赋值(如果未调用公共变量则忽略此步)
- 点击保存
4.第四步:导航栏 [接口测试]--[任务管理]--[创建任务]
- 填写任务信息
- 设置定时时间,定时规则请查看填写说明。若不定时,则点击 [立即上线] 后仅执行一次。若定时,则按照定时规则执行
- 下图示例意为:当前任务每天上午 9 点 0 分 0 秒执行一次
- 并发配置,若服务承载能力有限,则可配置最大并发限制数。例如若配置最大并发数为 2,则该任务下的用例,同时最多有 2 个用例执行。若不限制,则按星海执行资源最大能力执行
- 勾选是否生成 case 日志。若服务器返回结果过大,可选择不生成日志。注:该方法提高了执行效率,但若失败将没有日志可追踪问题
- 任务告警通知。选择已创建的告警地址和模板。通知:之行结束后仅生成报告,不通知执行结果;结束即通知:不论执行结果如何,均通知联系人;失败用例大于 X 时通知:若失败数达到阈值设置则通知联系人,否则不通知
- 任务异常通知
- 该配置适用于任务执行异常时的处理逻辑。若任务失败数大于一定数值,则判定为执行异常,有单独的告警配置
举例:用例中获取的 token 过期,导致用例执行大批量失败,因为此类型失败并不是接口异常,若走告警,则属于误报。可设置异常告警,通知用例负责人处理
- 勾选所需用例集,可多选
- 点击 [立即上线]
5.第五步:导航栏 [报告中心]--[报告列表],查看报告,点击逐条执行结果后的 [查看日志],可查看成功/失败日志,定位原因
↙↙↙阅读原文可查看相关链接,并与作者交流