【问题标题】:How do I generate a specific HTTP response code using a POSTMAN test?如何使用 POSTMAN 测试生成特定的 HTTP 响应代码?
【发布时间】:2016-10-08 21:37:27
【问题描述】:

我正在使用简单的 GET、POST 和 PUT 请求与邮递员一起测试 API。我每次在标头中只有 2 个变量(内容类型和用户),并且在运行 POST 时在正文中使用简单的原始 json 脚本。目前我只收到 2-3 个 HTTP 状态响应代码,200 OK 表示成功,400(如果我没有正文信息,则为错误请求),如果 URL 不正确,则为 404。但我需要测试多个 HTTP 请求(201 Created、202 Accepted 等),但我不知道如何触发特定的响应代码。以 201 为例,我正在使用这样的测试脚本:tests["Status code is 201 Created"] = responseCode.code === 201; 除此之外,我需要做什么来触发特定的响应代码? HTTP/语义和内容文档说,以下但对我来说没有意义;

HTTP/1.1 语义和内容

201(Created)状态码表示请求已经 已完成并已导致一项或多项新资源 创建的。请求创建的主要资源由响应中的 Location 标头字段标识,如果没有 Location 由有效的请求 URI 接收字段。 201 响应负载通常描述并链接到 创建的资源。有关含义的讨论,请参见第 7.2 节 验证器标头字段的用途和用途,例如 ETag 和 Last-Modified,在 201 响应中。

【问题讨论】:

    标签: postman http-response-codes web-api-testing


    【解决方案1】:
    describe('response', function() {
     it('status must be OK', function() {
       response.should.have.status(200);
       response.should.not.be.empty;
     });
    
    });
    

    您可以更改这条线。与:response.should.have.status(201);

    希望对示例有所帮助。

    【讨论】:

    • 这本来是一个可行的解决方案,但我发现请求是不可能的,因为需要在 API/服务器端设置响应代码。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-05-26
    • 2011-12-16
    • 2018-10-12
    • 2017-02-11
    • 1970-01-01
    • 2015-08-19
    • 1970-01-01
    相关资源
    最近更新 更多