首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Robot框架中的Requests库上传文件

使用Robot框架中的Requests库上传文件
EN

Stack Overflow用户
提问于 2021-04-15 17:36:46
回答 1查看 42关注 0票数 0

我正在尝试通过Robot Framework中的Requests Library上传PDF文件,但该文件没有上传。

然而,当我在Insomnia中尝试同样的方法时,它工作得很好(在成功上传后回显complete )。

测试用例-

代码语言:javascript
复制
 *** Variables ***

 &{headers_file}    X-Requested-With=XMLHttpRequest

 *** Test Case ***

 &{file}    Create Dictionary    file    ${CURDIR}/test_certificate_report.pdf    flowChunkNumber    1    flowChunkSize    1048576    flowCurrentChunkSize    25020    flowTotalSize    25020    flowIdentifier    25020-test_certificate_reportpdf    flowFilename    test_certificate_report.pdf    flowRelativePath
        ...    test_certificate_report.pdf    flowTotalChunks    1
 ${test_uri}    Set Variable    /certificates/upload/7d5ebc7a-9ec4-444a-b2c1-f59e03999e58
 ${response}    POST On Session    api_reviewer_second    ${test_uri}    files=&{file}    headers=&{headers_file}

输出日志-

代码语言:javascript
复制
POST Request : url=https://api.company.net/certificates/upload/7d5ebc7a-9ec4-444a-b2c1-f59e00488e58 
               path_url=/certificates/upload/7d5ebc7a-9ec4-444a-b2c1-f59e03999e58 
               headers={'User-Agent': 'python-requests/2.25.1', 'Accept-Encoding': 'gzip, deflate', 'Accept': '*/*', 'Connection': 'keep-alive', 'X-Requested-With': 'XMLHttpRequest', 'Cookie': 'PHPSESSID=guk1a2tlmpij9l3re9ge01lva5', 'Content-Length': '1303', 'Content-Type': 'multipart/form-data; boundary=f6820b677ad526bf76b0258616c3f9e4'} 
               body=b'--f6820b677ad526bf76b0258616c3f9e4\r\nContent-Disposition: form-data; name="file"; filename="file"\r\n\r\nC:\\RobotFramework\\bDATA_Test/support_files/test_certificate_report.pdf\r\n--f6820b677ad526bf76b0258616c3f9e4\r\nContent-Disposition: form-data; name="flowChunkNumber"; filename="flowChunkNumber"\r\n\r\n1\r\n--f6820b677ad526bf76b0258616c3f9e4\r\nContent-Disposition: form-data; name="flowChunkSize"; filename="flowChunkSize"\r\n\r\n1048576\r\n--f6820b677ad526bf76b0258616c3f9e4\r\nContent-Disposition: form-data; name="flowCurrentChunkSize"; filename="flowCurrentChunkSize"\r\n\r\n25020\r\n--f6820b677ad526bf76b0258616c3f9e4\r\nContent-Disposition: form-data; name="flowTotalSize"; filename="flowTotalSize"\r\n\r\n25020\r\n--f6820b677ad526bf76b0258616c3f9e4\r\nContent-Disposition: form-data; name="flowIdentifier"; filename="flowIdentifier"\r\n\r\n25020-test_certificate_reportpdf\r\n--f6820b677ad526bf76b0258616c3f9e4\r\nContent-Disposition: form-data; name="flowFilename"; filename="flowFilename"\r\n\r\ntest_certificate_report.pdf\r\n--f6820b677ad526bf76b0258616c3f9e4\r\nContent-Disposition: form-data; name="flowRelativePath"; filename="flowRelativePath"\r\n\r\ntest_certificate_report.pdf\r\n--f6820b677ad526bf76b0258616c3f9e4\r\nContent-Disposition: form-data; name="flowTotalChunks"; filename="flowTotalChunks"\r\n\r\n1\r\n--f6820b677ad526bf76b0258616c3f9e4--\r\n' 
    
POST Response : url=https://api.company.net/certificates/upload/7d5ebc7a-9ec4-444a-b2c1-f59e03999e58
                status=200, reason=OK 
                headers={'Date': 'Thu, 15 Apr 2021 09:19:08 GMT', 'Content-Type': 'application/json; charset=UTF-8', 'Transfer-Encoding': 'chunked', 'Connection': 'keep-alive', 'Server': 'nginx', 'X-Powered-By': 'PHP/7.2.34', 'Expires': 'Thu, 19 Nov 1981 08:52:00 GMT', 'Cache-Control': 'no-store, no-cache, must-revalidate', 'Pragma': 'no-cache', 'Access-Control-Allow-Credentials': 'true', 'Access-Control-Allow-Headers': 'Origin, X-Requested-With, Content-Range, Content-Disposition, Content-Type, Authorization', 'Access-Control-Allow-Methods': 'GET, PATCH, PUT, POST, DELETE, OPTIONS', 'Access-Control-Allow-Origin': 'https://app.company.net', 'X-Content-Type-Options': 'nosniff', 'Content-Security-Policy': "default-src 'self' *.company.net; img-src *", 'Strict-Transport-Security': 'max-age=31536000;'} 
                body=None 

有人能帮我找出这个问题吗?

EN

回答 1

Stack Overflow用户

发布于 2021-04-16 23:33:10

替换为以下行

代码语言:javascript
复制
${file}=    Get File For Streaming Upload    ${CURDIR}/test_certificate_report.pdf
${response}=    POST On Session    api_reviewer_second    ${test_uri}    data=${file}    headers=&{headers_file}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67105956

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档