我有一个登录API请求,在请求体中有3个参数(比如userName,password & remember)。在这2个参数中(userName和password是必填的,remember参数是可选的)。在运行时从CSV文件中读取输入,文件中的数据如下。
的数据
现在我想对给定的输入使用相同的请求,并根据输入形成请求体。请求:POST https://gateway.com/v1/login
例如,对于不同的迭代,请求体应该如下所示。
迭代1,
{
"userName": "{{userName}}",
"password": "{{password}}"
}
字符串
迭代2,
{
"userName": "{{userName}}",
"password": "{{password}}",
"remember": {{remember}}
}
型
迭代3,
{
"userName": "{{userName}}",
"password": "{{password}}",
"remember": {{remember}}
}
型
并且Assert应该基于返回的响应而特定于每个迭代。有人能帮助如何实现这一点吗?
2条答案
按热度按时间pkbketx91#
CSV中每一行的迭代数据在特殊的“data”变量中可用。
这将创建一个JSON对象(几乎符合您请求的格式)。
字符串
问题是它读取CSV的头,所以你总是把头作为对象中的键,不管它们是否包含数据。
因此,您需要在将其用作请求的主体之前对其进行清理。
型
如果您将body设置为raw/JSON,但将内容留空,那么如果您在pre-request脚本中有此代码,它将为您创建body。
x1c 0d1x的数据
jc3wubiy2#
你可以在postman中使用Prerequest scripts和Variables来存储你的csv内容,然后循环访问它。(你可以使用set variables in prerequest scripts)
使用setNextRequest应该允许你循环你的请求(示例在这里)
最后,一定要阅读这篇似乎能回答你问题的内容:)
https://community.postman.com/t/running-a-request-multiple-times-with-different-data-sets/1064或https://community.postman.com/t/how-to-loop-through-array-and-use-its-values-in-a-request/6771