【问题标题】:postman collection testing - how to use different test for different data rowspostman 集合测试 - 如何对不同的数据行使用不同的测试
【发布时间】:2016-06-01 11:51:00
【问题描述】:

我对邮递员 chrome 应用程序非常陌生。在了解了一些基础知识后,我创建了一个带有数据文件 (csv) 的可运行集合。

我正在尝试使用一个参数测试一个简单的 GET 请求

localhost:4502/accserver/balance?userid={{userid}}

我的 CSV 数据文件有 3 行如下:

用户 ID(标题行)

rvnath

chacha420

我的要求是根据行中的数据测试不同的响应状态码。例如,如果数据为“root”,则预期响应为 200。对于其他行,它应该返回 404。

截至nwo,我已经编写了一个简单的测试脚本如下:

tests['shd return 404 for non-existing user'] = responseCode.code === 404;

不知道,如何编写测试用例,以便他们可以根据数据行测试结果。

有什么帮助吗?

【问题讨论】:

  • 嗨 - 你用这个有什么收获吗?

标签: postman


【解决方案1】:

你可以这样做。这对我有用

if (responseCode.code === 200) {
     // Tests if response code is 200

}

if (responseCode.code === 404) {
    // Tests if response code is 404
}

谢谢。

【讨论】:

    【解决方案2】:

    由于 bob 发表评论询问此 qn 的状态,这里是答案。

    是的,这是可能的。在 POSTMan 支持团队的帮助下,我能够做到这一点。这样做的关键是创建一个 CSV 或 JSON 文件,其中每一行中的一个字段包含预期的返回代码。

    例如,在我的例子中,CSV 文件是:

    user,rcode
    root,200
    rvnath,404
    chacha420, 404
    

    用户名和响应代码将在我的测试脚本中作为变量提供,因此我可以编写如下测试用例:

    tests['shd return 404 for non-existing user'] = responseCode.code === {{rcode}};
    

    【讨论】:

    • 您是在 .csv 文件中的每一行都执行请求,还是只执行一次并根据响应执行测试?如果是第一个选项,那么您也可以共享循环逻辑吗?我以这种方式循环:我将数据存储为全局变量:dataArray 包含您在 .csv 中的内容,currentData 用于存储最后执行的案例,我通过 postman.setNextRequest("nameOfCurrentRequest") 进行循环,并在预请求脚本我检查这是否是最后一次。如果我想完成测试,上次我会做 postman.setNextRequest(null)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-17
    • 2017-07-15
    • 2014-02-19
    • 2017-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多