文件上传场景

对于上传文件类型的测试场景,HttpRunner 集成 requests_toolbelt 实现了上传功能。

在使用之前,确保已安装如下依赖库:

使用内置 upload 关键字,可轻松实现上传功能(适用版本:2.4.1+)。

- test:
    name: upload file
    request:
        url: http://httpbin.org/upload
        method: POST
        headers:
            Cookie: session=AAA-BBB-CCC
        upload:
            file: "data/file_to_upload"
            field1: "value1"
            field2: "value2"
    validate:
        - eq: ["status_code", 200]

同时,你也可以继续使用之前描述形式(适用版本:2.0+)。

- test:
    name: upload file
    variables:
        file: "data/file_to_upload"
        field1: "value1"
        field2: "value2"
        m_encoder: ${multipart_encoder(file=$file, field1=$field1, field2=$field2)}
    request:
        url: http://httpbin.org/upload
        method: POST
        headers:
            Content-Type: ${multipart_content_type($m_encoder)}
            Cookie: session=AAA-BBB-CCC
        data: $m_encoder
    validate:
        - eq: ["status_code", 200]

参考案例:httprunner/tests/httpbin/upload.v2.yml