GraphQL 测试工具梳理:你需要知道的最佳工具

GraphQL 测试工具是帮助开发人员保证 API 质量和正确性的关键工具,选择最适合你的工具。

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

GraphQL 测试工具梳理:你需要知道的最佳工具

免费使用 Apifox

相关推荐

最新文章

API

一体化协作平台

API 设计

API 文档

API 调试

自动化测试

API Mock

API Hub

立即体验 Apifox
目录

关于 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。

GraphQL 测试工具
创建 GraphQL 请求

填写必要的 URL、Method、Name 之后,点击 保存 ,完成接口的创建。

   

创建 GraphQL 请求用例

刚刚说了,GraphQL 是一个 URL,传递不同的 query、variables,得到不同的结果,但我们这只有一个请求,咋办呢?总不能再创建几个请求吧。

 

所以我们就可以用到 Apifox 提供的 接口用例,一个接口可以新建多个 接口用例。

 

填写参数

我们跳转到 运行界面,填入 query、variables,这两个参数的意思是查询一个 id 为 1 的学生的信息,包含 name、age、id。

GraphQL 测试工具
填写参数

添加断言

查到学生的信息后,我们要校验看看这个学生是不是我们想要查询的那个学生,所以我们可以判断返回的数据里的 id 是否等于 1。

 

我们跳到后置脚本选项卡中,然后选择 断言选项。

GraphQL 测试工具
选择 断言选项

填写对应的断言信息,有断言名称、JSON PATH、断言条件。

GraphQL 测试工具
填写信息

 

保存为用例

然后我们需要把它保存为 接口用例。

GraphQL 测试工具
保存为 接口用例

并填写用例名称,点击 保存。

GraphQL 测试工具
填写 用例名称

两个接口用例

我们需要创建两个接口用例,第二个用例跟第一个的操作一模一样,只不过第二个是判断 id 为 2。

GraphQL 测试工具
创建两个接口用例

Apifox 自动化测试 GraphQL API

最后就是需要对这两个 接口用例,进行 自动化测试了,跳转到 自动化测试 界面,并新建 测试用例(TestCase)。

GraphQL 测试工具
新建测试用例

进入创建好的 测试用例 中,选择 导入接口用例。

GraphQL 测试工具
导入接口用例

并导入我们刚刚创建的两个 接口用例。

GraphQL 测试工具
新建的两个 接口用例

设置一些参数,比如延迟、循环数、环境、线程数等等,我这里设置循环 100 次,也就是运行 200 次。

GraphQL 测试工具
运行

最后点击 运行 查看运行结果。

GraphQL 测试工具
运行结果

总结

本文介绍了如何使用 Apifox 对 GraphQL API 进行有效测试,强调了 API 测试在整个开发周期中的重要性。文章详细描述了从创建 GraphQL 请求、构建用例、设置断言到执行自动化测试的具体步骤,展示了 Apifox 在支持中文、提供免费服务及自动化测试方面的优势。通过实例操作,帮助开发者确保 API 的正确性和稳定性,提高开发效率。