阿萨聊测试:Apifox的高级Mock 自定义脚本

简介: 持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情大家好,我是阿萨。今天我们学习高级Mock的自定义脚本功能。学习完前面的内容后, 我们还有一类场景使用前面的Mock 方法无法实现.

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

大家好,我是阿萨。今天我们学习高级Mock的自定义脚本功能。学习完前面的内容后, 我们还有一类场景使用前面的Mock 方法无法实现. 那就是:

根据传入的参数值不同返回不同的数据列表。比如根据传入的参数确定分页指定页面数据。

今天会介绍这类场景的具体脚本实现方法。

解决以上问题之前,我们先学习下APifox 给我们提供的方法以及属性有哪些。

请求:fox.mockRequest

  • fox.mockRequest.headers 请求的 HTTP 头
  • fox.mockRequest.cookies 请求带的 Cookies
  • fox.mockRequest.getParam(key: string) 获取请求参数,包括 Path 参数、Body 参数、Query 参数。

响应:fox.mockResponse

  • fox.mockResponse.headers 响应的 HTTP 头
  • fox.mockResponse.code 系统自动生成的的 HTTP 状态码
  • fox.mockResponse.json() 系统自动生成的 JSON 格式响应数据
  • fox.mockResponse.setBody(body: any) 设置接口返回 Body,参数支持 JSON 或字符串
  • fox.mockResponse.setCode(code: number) 设置接口返回的 HTTP 状态码
  • fox.mockResponse.setDelay(duration: number) 设置 Mock 响应延时,单位为毫秒

了解了它提供的基本的 方法和属性之后,我们来看下如何解决分页指定页面场景。

  1. 先在昨天的接口基础上,增加一个param, 就是page。默认值先写上3.

1673681624322.png

\

  1. 修改文档,修改接口的响应部分。

1673681633195.png

\

3. 点击【高级Mock】----【脚本】

  1. 打开【是否开启】
  2. 复制右边示例里的代码,粘贴到左边。\


1673681691089.png




\

示例代码:\


// 获取自动 Mock 出来的数据var responseJson = fox.mockResponse.json();// 修改 responseJson 里的分页数据// 将 page 设置为请求参数的 pageresponseJson.page = fox.mockRequest.getParam('page');// 将 total 设置 120responseJson.total = 120;// 将修改后的 json 写入 fox.mockResponsefox.mockResponse.setBody(responseJson);


  1. 【保存】 然后点【快捷请求】, 查看对应结果。


1673681700340.png

结果就是我们 传入的参数 page 为3的值啦。

目标达成。

到此为止,所有Apifox 提供的Mock 方法都实现了。

你学会了吗?

如果你喜欢今天的文章,欢迎点赞,关注。

相关文章
|
6月前
|
测试技术 Linux
VPS一键测试脚本,无痕体验+自动导出,服务器测试更轻松
NodeQuality 是一款整合 Yabs、IPQuality、NetQuality 等主流 VPS 测试脚本的全能工具,支持一键测试硬件性能、IP属性、网络质量,并新增分享与导出功能。其“无痕测试”设计不安装依赖、不留残留,兼容性强;测试结果自动排版、截图并生成分享链接,极大提升效率。适合需要全面、快速、干净测试 VPS 的用户,是运维和测评的高效利器。
474 3
|
6月前
|
存储 测试技术 API
数据驱动开发软件测试脚本
今天刚提交了我的新作《带着ChatGPT玩转软件开发》给出版社,在写作期间跟着ChatGPT学到许多新知识。下面分享数据驱动开发软件测试脚本。
222 0
|
8月前
|
Web App开发 JavaScript 测试技术
Playwright 极速入门:1 小时搞定环境搭建与首个测试脚本
本文带你1小时快速入门Playwright,完成环境搭建并编写首个测试脚本。Playwright是微软推出的现代化Web自动化测试工具,支持Chromium、Firefox和WebKit三大浏览器引擎,具备跨平台、多语言(Python/JS/Java/C#)特性。其核心优势包括:智能自动等待机制减少失败率、内置录制工具实时生成脚本、多语言灵活选择,以及真移动端设备模拟能力,显著提升测试效率和可靠性。
|
Java 测试技术 开发者
必学!Spring Boot 单元测试、Mock 与 TestContainer 的高效使用技巧
【10月更文挑战第18天】 在现代软件开发中,单元测试是保证代码质量的重要手段。Spring Boot提供了强大的测试支持,使得编写和运行测试变得更加简单和高效。本文将深入探讨Spring Boot的单元测试、Mock技术以及TestContainer的高效使用技巧,帮助开发者提升测试效率和代码质量。
1341 2
|
Java Shell
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
「sh脚步模版自取」测试线排查的三个脚本:启动、停止、重启、日志保存
247 1
|
9月前
|
测试技术 Python
Python接口自动化测试中Mock服务的实施。
总结一下,Mock服务在接口自动化测试中的应用,可以让我们拥有更高的灵活度。而Python的 `unittest.mock`库为我们提供强大的支持。只要我们正确使用Mock服务,那么在任何情况下,无论是接口是否可用,都可以进行准确有效的测试。这样,就大大提高了自动化测试的稳定性和可靠性。
350 0
|
前端开发 JavaScript 测试技术
使用ChatGPT生成登录产品代码的测试用例和测试脚本
使用ChatGPT生成登录产品代码的测试用例和测试脚本
400 35
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
595 59
|
存储 监控 前端开发
如何确保测试脚本的稳定性和可靠性?
确保测试脚本的稳定性和可靠性是保证性能测试结果准确有效的关键
432 58
|
前端开发 JavaScript Java
通过ChatGPT生成测试用例和测试脚本(2)
通过ChatGPT生成测试用例和测试脚本
388 21