当前位置: 首页 > 知识库问答 >
问题:

如何使用dataProvider测试有REST保证的POST API

林念
2023-03-14

我正在使用放心测试API。我有以下测试,我想用不同的post参数迭代它

共有1个答案

岑叶秋
2023-03-14

要重新开始post参数,请尝试使用键值对形式的映射发送它们。这样,您就可以动态地创建自己的JSON主体。之后,在给定()函数中,将内容类型传递为JSON,并在body中传递jsonAsMap。

    Map<Object, Object>  jsonAsMap = new HashMap<Object, Object>();

    jsonAsMap.put("param1", "abc");
    jsonAsMap.put("password", "1234");
    jsonAsMap.put("param3","abc");

        RestAssured.given()
            .log().all()
            .accept(ContentType.JSON)
            .contentType(ContentType.JSON)
            .body(jsonAsMap)

        .when()
            .post("http://DomainName/Login") . //Pass the link of the POST URL
        .then()
            .contentType(ContentType.JSON)
            .assertThat()
                .statusCode(400);

因为您将使用JUnit,所以这将起作用,如果您使用的是TestNG框架,您可以切换到数据提供程序。在您的场景中,上面提到的这可能是测试某些POST请求状态的更好方法。

 类似资料:
  • 我正在使用@dataprovider TestNG 注释来传递不同的数据集。我的 TestNG 类包含 @BeforeClass、@DataProvider、三种@Test方法(一种使用数据提供程序的测试)和@After类。 数据提供程序包含 3 组数据(用户名和密码) 我只想知道如何按照以下顺序执行测试 --执行@Beforeclass - --转到测试并从数据提供程序打印第二组数据 --执行第

  • 我使用testNg用于使用java的自动化,我使用从excel获取数据并作为参数传递给测试脚本。 假设我在中有10行数据,我的测试用例将按顺序执行10次,但现在我想并行运行这10个测试,同时使用线程。 这能做到吗?如果是的话,有人能给我一个同样的例子吗?

  • 问题内容: 我对Java单元测试非常陌生,听说Mockito框架对于测试非常有用。 我已经开发了一个REST Server(CRUD方法),现在我想对其进行测试,但是我不知道如何? 我什至不知道该测试程序应该如何开始。我的服务器应该在本地主机上运行,​​然后在该URL上进行调用(例如,本地主机:8888)? 这是我到目前为止尝试过的方法,但是我很确定这不是正确的方法。 这是方法的代码。 在此测试用

  • 我目前正在使用testng selenium来自动化我的测试,我有以下场景: 我需要从excel文件中读取数据,转换对象中的每一行,并为每一行运行一个测试。我试图使用annotation@DataProvider返回一个对象数组,但是它只能返回迭代器和对象[]。是否有任何变通方法可用于从数据提供程序返回客户机对象数组?我尝试了以下代码,但它只打印来自Client2的数据: 编辑1:客户类别: 在控

  • 我使用rest-assured来测试我的API,我有一个数组列表,其中包含需要与JSON响应进行比较的日期,但我无法从响应中获取所有日期值 我只获取第一个数组对象的记录 以下是我的 JSON 响应

  • 问题内容: 我一直在寻找一种在测试方法中使用多个DataProvider的方法。我的情况如下: 假设我们有一个DataProvider类: 现在,在我的Test方法中,我要针对方案的所有组合运行: 绿广场 红方格 绿三角 红三角 鉴于我无法使用注释指定多个DataProvider,因此应如何在代码中实现此目标 问题答案: 由于缺乏更好的方法,我决定坚持解决方法。这是如何实现上述方案的示例: 这样,