希望将动态数据作为jsonpath请求传递


@Test
public void basicAuthLogin() {
//language=JSON
String jsonBody = "{n" +
"  "name": "Foo"n" +
"}";
given().auth().preemptive().basic(username, password)
.body(jsonBody)
.contentType(ContentType.JSON)
.when()
.post("http://localhost:8080/secured/hello")
.then()
.statusCode(200);
}

我想传递名称的动态数据,而不是";Foo";。我该怎么做?

您需要在此处使用DataProvider。它实际上在运行时为您的测试用例提供数据。有多种方法可以在测试用例之前、之后和期间向测试用例提供动态数据。

  • 如果您正在使用JUnit并且可以使用@Parameters提供数据,请使用@RunWith(Parameterized.class)

  • 使用@DataProvider (name = “name_of_dataprovider”)并创建数据提供程序方法,以防使用TestNG,并且可以在testCase中添加属性@Test (dataProvider = "data-provider")

  • 您可以从文件中提供输入,也可以在objectMapperJacksonlib的帮助下编写通用映射器来获取数据,并在运行时转换为对象并将其用作输入参数。

相关内容

  • 没有找到相关文章

最新更新