推荐一款一站式智能测试平台STP:在线Mock神器,支持请求透传,功能非常强大!

前面我们用了两篇内容,分别介绍了,利用STP智能测试平台如何开展接口自动化测试,以及STP智能测试平台数据构造的几大功能,如何利用数据构造,让自动化测试变得更加灵活,便捷。

如何利用STP智能测试平台开展接口自动化测试!

一站式智能测试平台: 一键动态数据构造

今天我们继续来分享,STP一站式智能测试平台,另一个功能特性:在线Mock服务,支持请求透传哦。

1、Mock在接口测试中的用途

在接口测试中,Mock(模拟)是一种非常重要的技术,常用的用途,比如:

1、解决前后端开发进度不统一问题

在开发过程中,前端和后端往往进度不同步。Mock接口可以模拟后端尚未完成的功能,使前端开发人员能够提前进行页面和逻辑的对接,避免因后端接口未就绪而影响开发进度。

2、模拟难以构造或获取的对象

Mock技术又称为测试桩或挡板,用于替代一些在测试中难以构造或获取的对象。例如,某些接口依赖第三方服务或硬件环境,Mock可以模拟这些依赖,使测试在隔离环境中顺利进行。

3、模拟依赖服务(这也是Mock最核心的)

  • 在实际开发中,一个系统通常会依赖多个外部服务(如数据库、第三方API等)。如果这些依赖服务不可用(例如开发阶段第三方服务尚未完成,或者测试环境无法访问外部服务),接口测试将无法进行。
  • 通过Mock技术,可以模拟这些依赖服务的行为,返回预先定义好的响应数据。例如,一个电商系统依赖支付接口,开发阶段支付接口尚未完成,可以通过Mock支付接口返回"支付成功"或"支付失败"等模拟数据,从而让订单系统的接口测试能够正常进行。
  • 确保接口测试可以在依赖服务不可用的情况下继续进行,减少对其他系统的依赖,加快开发和测试进度。

总的来说,Mock在接口测试中通过模拟接口行为,解决了开发进度不统一、依赖复杂环境等问题,提升了测试效率和质量,是现代软件开发和测试中不可或缺的技术手段。

那么STP智能测试平台,在Mock这,又提供了哪些实用的功能呢?

2、STP智能测试平台在线Mock服务

STP智能测试平台,Mock功能是一个独立的功能,它可以和接口测试一起配合使用,也可以单独使用,不需要依赖接口测试,任何你需要Mock的场景,都可以用到它。

STP智能测试平台->在线Mock服务菜单中,具备了一套完善且功能强大的Mock能力。具体来说,分为了几个部分:

  • Mock项目管理
  • Mock接口管理
  • 数据模板管理
  • 透传规则管理
  • 请求日志监控

下述挑部分功能特性介绍一下。

1、如上述所讲,Mock是一个独立的功能,并非一定要强依赖接口测试,因此对于Mock的管理,是需要用单独的项目来维护管理。

2、因此,访问在线Mock服务->Mock项目管理,新建一个Mock项目。

这里说明一下,在Mock项目列表中,默认只会显示由自己创建的项目,管理员除外。

3、有了Mock项目之后,接下来在Mock接口管理中,按需新建Mock接口,比如新建编辑一个获取用户列表Mock接口 路径为/users ,如下图配置所示

在编辑Mock接口中,可以自定义Mock接口方法、接口路径、状态码、响应延迟、响应类型、响应头、响应体等内容,按需配置保存即可。

新建好Mock接口,在Mock接口列表中,可以直接测试Mock接口的效果。

并且,在Mock测试窗口中,还支持查看Mock接口的完整路径,比如/users,实际完整的Mock接口路径为:

复制代码
http://localhost:8000/api/mock/serve/v1/users

有了这个Mock接口地址之后,你可以在任何你需要用到的地方调用它,比如我们在控制台验证一下。

4、新建数据模板,将一些常用的响应数据以模板的形式维护管理,方便在Mock接口中多次复用。STP平台,支持多种数据类型和随机生成规则的数据模板。

点击新建数据模板规则,如下图所示

在数据模板规则配置中,隐藏了非常多的实用小设计,比如支持不同的生成模式,不同的数据对象、支持不同风格的模板配置(JSON模板或可视化配置)、内置常用模板示例(支持一键带出数据模板)、实时预览数据模板效果

数据模板规则,支持Mock.js语法,例如 @name 生成姓名,@email 生成邮箱。

5、数据模板创建好之后,可以在Mock接口中直接引用,方便多次复用,Mock响应数据再也不用硬编码了。

在新建或编辑Mock窗口中,在响应体配置中,选择引用数据模板,从下拉列表中,选择所需要的数据模板即可。

选择好数据模板后,支持直接模板效果预览,保存后,点击测试验证

此时Mock接口响应的数据就来自于数据模板生成的。

6、更绝的是,STP智能测试平台,在线Mock服务还支持Mock请求透传,所谓的Mock接口透传是指在接口测试中,通过Mock技术实现接口请求的透明转发。当Mock服务接收到客户端的请求时,根据预设的规则,可以选择将请求直接转发(透传)到真实的服务端,而不是返回模拟数据。这种方式允许在测试环境中灵活地切换真实调用与模拟调用,以满足不同的测试需求。

7、STP智能测试平台,在线Mock服务,提供了透传规则管理功能。

  • 支持请求拦截与转发:Mock服务通过拦截客户端的请求,根据配置的规则决定是否将请求透传到真实的服务端。如果选择透传,Mock服务会将请求原样发送到指定的真实服务,并将真实服务的响应返回给客户端。
  • 支持动态配置:Mock服务通常支持通过配置文件或代码逻辑动态决定是否透传请求。例如,可以根据请求的参数、路径或其他条件来选择透传或返回Mock数据

上面都说的是啥?看不懂,怎么办?好吧,用一个简单的示例,来直接演示。

8、比如当前,我们为了测试需要,在某个Mock项目下,新建了一个/get Mock接口

正常情况下,调有该Mock接口, 返回的响应是Mock模拟的数据。

而现在我们真实服务(https://httpbin.testing-studio.com)中get接口已经开发好了,我们想要在调用时,能返回真实服务中get接口的响应数据。该怎么做?

9、在透传规则管理中,新建一个针对/get请求的透传规则,如下图所示

开启透传规则后,再次测试刚刚的mock接口,你会发现mock返回的数据,已经变成了真实服务get接口中的响应了。

可能上述对比还不太明显,我们直接在命令行对比执行一下:

从上述的结果可知,调用真实服务接口和Mock接口返回的响应一模一样了。

复制代码
https://httpbin.testing-studio.com/get
http://localhost:8000/api/mock/serve/get

这就实现了一次请求透传了。

还有好多细节小技巧,就不细说了,再说你就要偷师了

在全链路测试中,Mock接口透传非常适合用于模拟部分服务的调用,同时保留其他服务的真实调用这类场景。

10、STP智能测试平台,还为整个Mock在线服务,设计了一套请求监控体系,方便实时查看各Mock接口(含透传请求)被调用的情况。

3、最后

好了,要去吃饭了,今天的分享就到这里吧~

我个人对STP智能测试平台的定位是:可开源、可定制、可商业

STP智能测试平台,将会作为第2025年最新AI+全栈测试开发技能实战指南(第6期)实战演练项目之一。

在今年最新一期全栈测开训练营(第6期)中,我们将会带着学员学习掌握如何从0到1开发打造一款STP智能测试平台。 并且本期训练营结束后,STP平台的项目全部代码,可授权给第6期表现突出的学员使用,学员可将平台部署到公司内部使用,这也将是你在公司成果提效、加薪的一大助力。(开箱即用)

第6期全栈测开训练营,将于本周六正式开课,有需要提效的同学,欢迎联系老师(wx: 762357658)。

喜欢这篇文章?欢迎点赞、在看、转发,我们下期再见!