在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工作表数据中动态添加这些参数的原因。
我该怎么做?有什么建议吗?
答案 0 :(得分:2)
如果我没看错,您希望电子表格中的参数可以在运行时动态使用。
为此,您需要:
读取电子表格文件并获取数据结构(例如Map<String,String>
)中包含的参数,其中,键是字段,值是...,值:P
迭代到选定的数据结构并通用设置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方法可以动态访问值。 可以随时在属性文件中更改值。