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

问题描述 投票:10回答:2

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

我想自动化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。但我不认为这是自动化的。我对吗?

api rest playframework jenkins rest-assured
2个回答
4
投票

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

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


3
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.