Automated tests 基于值的跳过迭代-邮递员

Automated tests 基于值的跳过迭代-邮递员,automated-tests,postman,web-api-testing,postman-collection-runner,postman-pre-request-script,Automated Tests,Postman,Web Api Testing,Postman Collection Runner,Postman Pre Request Script,我正在编写一个postman集合,其中我编写了两个针对API的get请求。运行时,我在运行程序中为这两个请求使用单个数据文件。我的数据文件如下所示- 我试图做的是,当我运行request1时,它应该使用算法id并在查询参数中使用,而对于request2,它应该使用产品id。当我使用数据文件从测试转轮运行这些请求时,它也运行对空白值的请求,每个请求四个。我想跳过空白值的运行,只在请求列中有值时运行 我想同时运行两次请求,跳过空白的。< /P> 到目前为止我已经试过了,但没有成功- 请求1请求前脚

我正在编写一个postman集合,其中我编写了两个针对API的get请求。运行时,我在运行程序中为这两个请求使用单个数据文件。我的数据文件如下所示-

我试图做的是,当我运行request1时,它应该使用算法id并在查询参数中使用,而对于request2,它应该使用产品id。当我使用数据文件从测试转轮运行这些请求时,它也运行对空白值的请求,每个请求四个。我想跳过空白值的运行,只在请求列中有值时运行

我想同时运行两次请求,跳过空白的。< /P> 到目前为止我已经试过了,但没有成功-

请求1请求前脚本-

请求2预请求脚本-

我认为您试图做的是当前不受支持的事情,基本上是如果预请求脚本中的测试条件失败,则中止当前请求并转到下一个。在您的情况下,如果url参数的值为空,则不执行


pm.iterationData.get(“产品ID”)返回什么?如果是空的,是null还是空字符串?在任何一种情况下,这两个表达式都不是布尔值,因此我不确定表达式的计算结果。它返回一些符号,当我将鼠标悬停在它上面时,它会显示
空字符串
。我还尝试使用“NA”,而不是将值留空,然后检查
pm.iterationData.get(“product_id”)=“NA”
。。它进入if,但什么也不做。考虑到它,设置似乎有点奇怪,request2是否依赖于request1的响应,或者为什么是空值?你能用一些已知的错误值来代替空白值吗?我能,但想法是对多个请求使用单个数据文件。如果param值不适用于请求,则应跳过该值。我确实看不到执行您尝试执行的操作的方法,在请求前脚本中设置下一个请求将执行该操作,但您的请求仍将执行当前请求,此时您已经有空值可处理。你需要执行这个请求,让它成为一个错误状态,这会产生很多不必要的错误。是的,我也这么认为。但是,我已经根据值跳过了测试本身,这样我让请求运行,但不运行测试。