【发布时间】:2020-11-11 04:09:30
【问题描述】:
我正在开发一个邮递员集合,其中我编写了两个 API 获取请求。当我运行时,我在运行器中为两个请求使用单个数据文件。我的数据文件如下所示 -
我想要做的是,当我运行 request1 时,它应该使用 Algo_id 并在查询参数中使用,而对于 request2,它应该使用 product_ids。当我使用数据文件从测试运行器运行这些请求时,它也会运行对空白值的请求,每个请求四个。我想跳过空白值的运行,仅在请求的列中有值时运行它。
我想运行两次请求并跳过空白的请求。
到目前为止我已经尝试过,但没有成功 -
request1 预请求脚本 -
request2 预请求脚本 -
【问题讨论】:
-
pm.iterationData.get("product_ids")返回什么?如果它是空的,它是 null 还是空字符串?在任何一种情况下,都不是布尔值,所以我不确定表达式的计算结果是什么。 -
它返回一些符号,当我将鼠标悬停在它上面时,它显示
Empty String。我也尝试使用 'NA' 而不是将值留空然后检查pm.iterationData.get("product_ids") === 'NA'但这也不起作用..它进入 if 但什么也不做。 -
想想这个设置似乎有点奇怪,request2 是否依赖于 request1 的响应或者为什么是空值?你能用一些已知的错误值代替空白吗?
-
我可以,但想法是对多个请求使用单个数据文件。如果参数值不适用于请求,则应跳过它
-
我真的没有办法做你想做的事,在预请求脚本中设置下一个请求会这样做,但你的请求,当前请求仍然会执行此时您已经有一个空值可以使用。您需要执行请求并让它成为一个错误状态,这会产生很多不必要的错误。
标签: automated-tests postman web-api-testing postman-collection-runner postman-pre-request-script