自动化Rest API测试并将其与持续集成(CI-Jenkins)集成

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了自动化Rest API测试并将其与持续集成(CI-Jenkins)集成相关的知识,希望对你有一定的参考价值。

我发现了许多与此相关的类似问题......但不是我要找的具体答案。实际上我的要求没什么不同。所以张贴这个。

我想自动化Rest API,我有两个相同的选项。第一个是Rest Assured,第二个是Play框架。

考试测试这个Rest API,

http://servername:9000/dbs/all/list/m1/p1/sch1

(这给出了xml响应)我用Java保证编写了一个代码,并且工作正常。我将它与Maven项目集成在一起,以便与Jenkins整合。示例代码:

   import com.jayway.restassured
    public class TestNGSimpleTest2 {

        @Test
        public void testApi() {
                expect().
                statusCode(200).
                body("Status", equalTo("Su22ccess")).
                when().
                get("http://localhost:9000/dbs/all/list/m1/p1/sch1");

        }

所以我的第一个问题是:1。放心使用是最好的工具吗? 2. Play框架更好吗? 3.我发现了许多其他工具,如Jmeter,RightAPI等来测试RestAPI。但我不认为这是自动化的。我对吗?

答案

对于自动化REST API测试,作为起点,我建议使用Postmannewman

Postman为构建请求提供了极好的UI,而newman是它的命令行对应物。在Postman UI中创建一组请求和相应的测试后,您可以通过newman从Jenkins运行整个集合,从而在测试失败时阻止部署。

另一答案

您发布的RestAssured代码适用于基本案例。如果您想要:它不一定是“正确的工具”:

  • 不断添加新的测试用例并且没有很多资源
  • 使用格式错误消息传播警报(特别是对Slack或GitHub这样的地方)
  • 减少误报
  • 重复使用相同的测试进行监控

构建这些功能需要时间和资源,这取决于您的团队规模可能会或可能不是一个好的电话。

您发布的一些商业解决方案可以为您解决部分问题。

Assertible是一个无代码解决方案,支持您直接描述的工作流程:https://assertible.com/blog/automated-api-testing-with-jenkins

以上是关于自动化Rest API测试并将其与持续集成(CI-Jenkins)集成的主要内容,如果未能解决你的问题,请参考以下文章

持续集成 CI 自动化构建和自动化测试--初探

持续集成:什么是持续集成(CI)持续交付(CD)和持续部署(CD)

持续集成CI与自动化测试

CI / CD /CD 持续集成 持续交付 持续部署

CI(持续集成)CD(持续交付)

jenkins+docker 持续集成 持续交付