如何使用 SoapUI Mock REST API

本文将介绍如何使用 SoapUI Mock REST API,帮助你更好地模拟 REST API 接口,提高开发效率。

用 Apifox,节省研发团队的每一分钟

如何使用 SoapUI Mock REST API

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

使用 SoapUI Mock REST API

Mock 到底是个啥

你是否有这样的烦恼,后端接口写完了,但是没数据!!

这个时候前端会说:没有数据,你让我怎么去调试前端页面呢?

Mock 就是为解决这个问题而生的,当你没有源数据时,我就为你生成一些跟源数据类似的假数据,让你先用着。

使用 SoapUI Mock REST API
Mock.js

Mock 为啥那么重要

现在是 前后端分离的年代啊,分为前端工程师、后端工程师:

  • 后端:写接口,管理数据库数据
  • 前端:调用接口,拿数据渲染页面

前后端之间怎么去协作,怎么去沟通,这是一个很多人思考的问题。

难道后端的接口没数据,前端就停滞不前了吗?等着拿数据去调试前端页面?这肯定是不可取的。

所以 Mock 保证了 前后端能并行开发,大大提高整体开发效率。

SoapUI Mock REST

今天通过一个官网的例子,带大家认识一下 SoapUI 中的 Mock 功能

Mock 服务

mockService (简称mock),使用最普遍的是基于 script 功能。此项功能可依据脚本定制返回的内容,灵活方便。语法为 Groovy 语法,语法与 JAVA 很像。

REST Mock MockService

想要使用 REST Mock MockService,就要用到 SoapUI 的 Mock Script,也就是 Mock 脚本,指的是通过写脚本的形式,去控制返回的 Mock 数据

打开 dispatch -> script,创建一个 REST Mock MockService

这里我们填写我们所需要的脚本

context.setProperty( "a", Math.random() )

这段脚本的意思就是,我们定义一个 a 变量,他的 Mock 值是一个随机数

使用 SoapUI Mock REST API
REST Mock MockService

变量使用

设置了 a 变量,我们需要在响应定义里去引用这个变量,这样到时返回响应数据时才能得到我们想要的 Mock 数据

使用 SoapUI Mock REST API
变量使用

发送请求 获取响应

最终我们进行了接口的发送,并获得到了响应数据,查看响应数据,我们可以看到,原本 a 变量的引用处,已经变成一个 随机数 了,这说明 Mock 功能生效了

使用 SoapUI Mock REST API
发送请求 获取响应

SoapUI

SoapUI简介:了解这个流行的API测试工具

使用 SoapUI Mock REST API
SoapUI

SoapUI Mock 的缺陷

仔细观察,其实 SoapUI Mock 功能暴露出了许多缺点

  • 不免费啊
  • 都没有默认支持中文显示
  • 变量定义完之后,还需要去手动引用
  • 返回的 Response 居然不能格式化

这让我望而却步,所以我进行了市场调研,决定使用另外一款 API 工具 —— Apifox

他完美解决了上面的问题

  • 可切换为中文显示
  • 免费普通用户完全免费
  • 响应数据可格式化
  • 支持 高级 Mock

使用 Apifox Mock 功能

创建接口

新建接口,并填写一些接口信息

  • URL
  • Method
  • Name
使用 Apifox Mock 功能
创建接口

Mock 表达式

Apifox 定义 Response 的界面做的非常结构分明,我们可以看到是一级一级往下的,并且有缩进,可折叠。

想要使用 Apifox 的 Mock 功能,就需要使用它的 Mock 表达式,而Apifox 为我们提供了很多现成的 Mock 表达式,非常便捷

使用 Apifox Mock 功能
Mock 表达

比如我这里定义返回是一个对象,里面有一个 ename 属性,Mock 表达式是 @name,也就是会随机返回一个 英文名

使用 Apifox Mock 功能
定义返回对象

然后我们点击 保存 按钮

选择 Mock 环境

想要使用 Apifox Mock 数据,我们需要选择 Apifox 的 本地 Mock 环境,这样才能获取到 Mock 数据。

使用 Apifox Mock 功能
选择 Mock 环境

获取 Mock 数据

接着我们点击 发送 ,看能不能得到我们想要的结果。

使用 Apifox Mock 功能
获取 Mock 数据

可以发现,每次发送都能得到不一样的响应结果,这达到了我们想要的目的

Apifox 高级 Mock

Apifox 的 高级 Mock 功能,你可以理解为:根据不同请求条件,返回不同的 Mock 数据

我们进入到 高级 Mock 选项卡,我么添加两个 高级 Mock

使用 Apifox Mock 功能
新建期望

我们添加两个 高级 Mock,分别是 advanced1、advanced2,他们两个的区别就是返回的 status 分别为 1、2

高级 Mock 脚本中可以填写 Mock 表达式
使用 Apifox Mock 功能
返回的 status 1
使用 Apifox Mock 功能
返回的 status 2

调试 Apifox 高级 Mock

然后回到 运行页,我们修改 query 中的 参数,添加 status 为 1,并发送

使用 Apifox Mock 功能
修改参数

我们将 status 改成 2,再发送

使用 Apifox Mock 功能
运行发送

Apifox

Apifox 是一体化 API 协作平台,可以实现 API 文档、API 调试、API Mock、 API 自动化测试,是更先进的 API 设计/开发/测试工具。

Apifox 提供了一种全面的 API 管理解决方案。使用 Apifox ,你可以在统一的平台上设计、调试、测试以及协作你的 API,消除了在不同工具之间切换和数据不一致的问题。 简化了你的 API 工作流,并确保了前端、后端和测试人员之间的高效协作。

Apifox 官网

欢迎体验一下,完全免费的哦:在线使用 Apifox

知识扩展: