Robot框架,如何仅使用请求api下载响应体中返回的文件

Robot框架,如何仅使用请求api下载响应体中返回的文件,api,request,robotframework,response-headers,downloadfile,Api,Request,Robotframework,Response Headers,Downloadfile,我正在使用robot框架发送请求,而无需打开浏览器。其中一个请求应该是下载一个文件。但当我发送此请求时,文件不会被下载(即使我有200状态码) 状态代码为200时,测试通过。 但没有下载任何文件 下面是响应标题 内容处置:附件; filename=“导出站点参数_2020-01-03_09-21-39.xlsx”; 文件名*=UTF-8“导出%20Site%20Parameter_2020-01-03_09-21-39.xlsx 内容长度:3767内容类型: application/vnd.op

我正在使用robot框架发送请求,而无需打开浏览器。其中一个请求应该是下载一个文件。但当我发送此请求时,文件不会被下载(即使我有200状态码)

状态代码为200时,测试通过。 但没有下载任何文件

下面是响应标题

内容处置:附件; filename=“导出站点参数_2020-01-03_09-21-39.xlsx”; 文件名*=UTF-8“导出%20Site%20Parameter_2020-01-03_09-21-39.xlsx 内容长度:3767内容类型: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet 日期:2020年1月3日星期五09:21:38 GMT服务器:Kestrel x-powered-by: ASP.NET


感谢您帮助

假设您正在使用
RequestsLibrary
执行HTTP Get请求以检索文件。尽管文档没有指定,但返回的响应对象的
content
属性包含数据。然后可以使用标准的
操作系统
库轻松地将其存储在文件中

*** Settings ***
Library    RequestsLibrary
Library    OperatingSystem

*** Test Cases ***
File Download Using RequestsLibrary


    ${file_name}      Set Variable    file_example_XLS_10.xls
    ${uri}            Set Variable    /wp-content/uploads/2017/02/${file_name}

    Create Session    test    https://file-examples.com
    ${response}=          Get Request    test    ${uri}

    Run Keyword And Continue On Failure    Should Be Equal As Numbers     ${response.status_code}    200

    Create Binary File     ${EXECDIR}/${file_name}     ${response.content} 

文件未下载是什么意思?其内容应该在响应的有效负载中。发送此请求时,应该下载excel文件。但是使用robot framework没有下载文件您是否检查了响应负载是的响应负载是加密的,大约200个字符,没有任何意义谢谢,是的,我使用的是requestLibrary。根据你的建议,我得到了一个错误404。你能用你知道你能找到的东西替换这个URL吗?脚本适合我(不同的位置/网络,相同的机器)。
*** Settings ***
Library    RequestsLibrary
Library    OperatingSystem

*** Test Cases ***
File Download Using RequestsLibrary


    ${file_name}      Set Variable    file_example_XLS_10.xls
    ${uri}            Set Variable    /wp-content/uploads/2017/02/${file_name}

    Create Session    test    https://file-examples.com
    ${response}=          Get Request    test    ${uri}

    Run Keyword And Continue On Failure    Should Be Equal As Numbers     ${response.status_code}    200

    Create Binary File     ${EXECDIR}/${file_name}     ${response.content}