关于 GraphQL
GraphQL 是近几年兴起的一种应用在 API 身上的技术,那么既然涉及到 API ,就肯定涉及到 API 测试,因为一个接口的整个生命周期,是离不开 API 测试的。
如果你们团队写了几百个接口,然后不经过任何测试就上线的话,那么隐患是非常多的。
测试 GraphQL API
那么怎么更好地去测试 GraphQL API 呢?或者说,我们到底是测他的什么呢?其实最重要的就是,测这个 API 返回的数据到底对不对,符不符合我们的预期,这就要借助一些 API 工具了。
你要是问我世界上比较出色的 API 工具有哪些,那我肯定会说出两个:
这两个都是 API 工具里的头部级别的工具,但是我选择了 Apifox,为啥呢,因为 Apifox:
- 支持中文啊,对我这种英文不好的人非常友好
- 免费啊
- 支持自动化测试啊,非常方便
那么接下来就梳理一下,怎么使用 Apifox 进行测试 GraphQL API 吧!
Apifox 测试 GraphQL API
期望结果
在测试之前,我们要明确要一下,我们预期的结果是什么?
其实 GraphQL 就是通过同一个 URL ,传递不同的 query 和 variables,去查询到不同的结果,所以我们预期就是:当我们传不同的 query 和 variables时,得到的数据是不是我们想要的。
创建 GraphQL 请求
我们需要创建一个 GraphQL 请求,因为我们刚刚说了,GraphQL 的请求需要基于 URL。
填写必要的 URL、Method、Name 之后,点击 保存 ,完成接口的创建。
创建 GraphQL 请求用例
刚刚说了,GraphQL 是一个 URL,传递不同的 query、variables,得到不同的结果,但我们这只有一个请求,咋办呢?总不能再创建几个请求吧。
所以我们就可以用到 Apifox 提供的 接口用例,一个接口可以新建多个 接口用例。
填写参数
我们跳转到 运行界面,填入 query、variables,这两个参数的意思是查询一个 id 为 1 的学生的信息,包含 name、age、id。
添加断言
查到学生的信息后,我们要校验看看这个学生是不是我们想要查询的那个学生,所以我们可以判断返回的数据里的 id 是否等于 1。
我们跳到后置脚本选项卡中,然后选择 断言选项。
填写对应的断言信息,有断言名称、JSON PATH、断言条件。
保存为用例
然后我们需要把它保存为 接口用例。
并填写用例名称,点击 保存。
两个接口用例
我们需要创建两个接口用例,第二个用例跟第一个的操作一模一样,只不过第二个是判断 id 为 2。
Apifox 自动化测试 GraphQL API
最后就是需要对这两个 接口用例,进行 自动化测试了,跳转到 自动化测试 界面,并新建 测试用例(TestCase)。
进入创建好的 测试用例 中,选择 导入接口用例。
并导入我们刚刚创建的两个 接口用例。
设置一些参数,比如延迟、循环数、环境、线程数等等,我这里设置循环 100 次,也就是运行 200 次。
最后点击 运行 查看运行结果。
总结
本文介绍了如何使用 Apifox 对 GraphQL API 进行有效测试,强调了 API 测试在整个开发周期中的重要性。文章详细描述了从创建 GraphQL 请求、构建用例、设置断言到执行自动化测试的具体步骤,展示了 Apifox 在支持中文、提供免费服务及自动化测试方面的优势。通过实例操作,帮助开发者确保 API 的正确性和稳定性,提高开发效率。