GraphQL API-有用于测试它的自动化工具吗?

时间:2018-11-25 08:40:12

标签: api testing graphql soapui postman

我想测试GraphQL API。 现在,我正在使用GraphiQL,但是我正在寻找任何自动化工具... 似乎SOAPUI不支持GraphQL测试。

有什么想法吗?

谢谢。

5 个答案:

答案 0 :(得分:2)

全面披露:我是一家测试GraphQL服务器的SaaS公司的创始人:https://OnlineOrNot.com

您基本上有三个见过的选择:

  1. Apollo's GraphQL Platform。它使您可以对各个解析器进行全面的遥测,并且可以与VS Code集成,以使您的开发人员实时了解他们的查询有多昂贵。您可以为此付费。

  2. OnlineOrNot。我们更多地是为您的查询提供黑盒测试套件,非常适合检测GraphQL服务何时脱机,而无助于弄清查询在解析器功能中的确切位置停止工作(尽管我们确实告诉您两者之间的区别预期结果和实际结果)

  3. 写自己的。对于一个足够简单的用例,它可能是有道理的,但是如果您正在寻找丰富的功能集,那么购买而不是构建它可能更有意义。

答案 1 :(得分:0)

具体来说,您想测试什么?

我们在每个版本上都运行许多自动的健全性检查测试:

  1. 该模式是否有效(根据graphql-js)?如果您的实现允许例如,这可能很容易弄乱。相同类型名称的多个定义,或任何其他数量的细微错误。

  2. 这是一个重大的架构更改吗?如果是这样,请中断构建,除非有特定的git commit消息确认并接受它。使用graphql-js,这非常容易-对当前生产运行自省查询,对当前内部版本运行它,然后使用内置的findBreakingChanges函数。

请注意,graphql-js测试并不意味着您的服务器必须用JS编写-我们的服务器是使用ocaml-graphql-server用ReasonML编写的,然后在构建时,我们使用节点测试套件来进行测试和其他客户一样。

最后,除此之外,我们还有一些运行查询/变异的测试,以进行端到端API服务器测试。总体而言,到目前为止,对于回归分析,该方法非常可靠。

请记住,您可以使用任何http客户端轻松访问GraphQL服务器,测试套件中没有必须具有GraphQL意识。在上面提到的健全性检查的基础上,我建议使用此路线。

答案 2 :(得分:0)

我正在使用SoapUI 5.4.0(社区版),并且测试GraphQL请求没有问题。 将它们视为Rest请求并添加标头,例如内容类型:application / graphql

查看图片以获取所有详细信息。

SoapUI GraphQL example

答案 3 :(得分:0)

对于自动测试,有https://github.com/ohler55/graphql-test-tool/gtt。它是用go编写的,但是作为一个独立的应用程序,它可以与任何GraphQL服务器一起使用。我们将其用于单元测试和CI。

答案 4 :(得分:-1)

Karate是将API测试自动化,模拟和性能测试结合到一个统一框架中的唯一开源工具。

https://github.com/intuit/karate