如何在Rest API自动化中动态构建“ Params”

时间:2019-05-03 05:05:30

标签: java rest api automation rest-assured

在api自动化中,让我们考虑以下代码来访问api并获得响应。

Response res= given().

              formParam("email", "value").

              formParam("password", "value").

              formParam("action", "login").

              header("token","value").

              when().post("MyResource").then().assertThat().statusCode(200).extract().response();

实际上,在上面的代码中,我们只是使用 formParams 标题资源 post 构建一个api。 >请求正确!

那么,我们在那里手动创建了3个 formParm 并正确传递了值?现在我希望根据Excel表格中没有的参数自动添加。

这些参数可以在将来删除或添加新参数,所以这就是为什么我要从Excel工作表数据中动态添加这些参数的原因。

我该怎么做?有什么建议吗?

2 个答案:

答案 0 :(得分:2)

如果我没看错,您希望电子表格中的参数可以在运行时动态使用。

为此,您需要:

  1. 读取电子表格文件并获取数据结构(例如Map<String,String>)中包含的参数,其中,键是字段,值是...,值:P

  2. 迭代到选定的数据结构并通用设置formParam

    final RequestSpecification given = given(); for(final Map.Entry<String,String> entry : map) { given.formParam(entry.getKey(), entry.getValue()); } final Response res = given.other_things() ...

我希望它会有所帮助,但请记住没有必要使用Map。选择更适合您情况的数据结构!

答案 1 :(得分:0)

这也可以通过使用属性文件来实现

文件名。属性 属性文件中,您可以声明键值对。

Propertis prop = new Properties(); prop.load(文件名);

,并使用getproperty方法可以动态访问值。  可以随时在属性文件中更改值。