将 --form 文件作为 ROBOT 框架的一部分传递

卡住

我正在尝试在 ROBOT 框架中传递以下 API 请求

curl --request POST --url <API End Point>  --form 'sourcefile=@/home/test.zip' --header "Authorization: <Bearer Token>"

等效机器人测试用例,

Sample Test Case
    [Arguments]    ${token}=default
    Create Session    mxesession    ${mxe_host}
    ${accessToken}=    Catenate    Bearer    ${token}
    ${data}=    Create Dictionary    sourcefile=/home/test.zip
    ${header}=    Create Dictionary    Authorization=${accessToken}
    ${response}=   Post Request    mxesession    /v1/ml   files=${data}    headers=${header}
    Should Be Equal As Strings    ${response.status_code}    200

当我执行它时,上面的测试用例成功通过。但是该文件无法被应用程序成功处理,而通过 curl 请求直接传递时它被成功处理。所以,我想在这里说的一点是,我在这里传递的文件没有问题,而通过 curl 请求命令和机器人框架测试用例传递给应用程序的文件似乎不同。

测试用例是否正确,尤其是我通过 'sourcefile' 的方式

我应该在机器人框架中以不同的方式对待这条路径中的@ ”/home/test.zip吗?

卡住

链接:按照 Bryan Oakley 的建议,通过 REST API 使用 multipart/form-data 上传文件有所帮助。

下面给出正确的测试用例以供参考:

Sample Test Case
    [Arguments]    ${token}=default
    Create Session    mxesession    ${mxe_host}
    ${accessToken}=    Catenate    Bearer    ${token}
    ${fileData}=    Get Binary File  /home/test.zip
    &{fileParts}=  Create Dictionary
    Set To Dictionary  ${fileParts}  sourcefile=${fileData}
    ${response}=   Post Request    mxesession    /v1/ml   files=${fileParts}    headers=${header}
    Should Be Equal As Strings    ${response.status_code}    200

关键行是:

    ${fileData}=    Get Binary File  /home/test.zip
    &{fileParts}=  Create Dictionary
    Set To Dictionary  ${fileParts}  sourcefile=${fileData}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

NSNotificationCenter将结构作为UserInfo的一部分传递

如何将背景色仅作为选择的一部分?的CSS

将cookie作为node.js请求的一部分传递

发送数组作为x-www-form-urlencoded的一部分

将json插入postgres作为celery任务的一部分

如何将一个UIViewController作为屏幕的一部分

Terraform无法将模块作为jenkins管道的一部分拉出

将图像拖到pygame中作为网格一部分的图块上

如何在angularJs 1.5中将$ scope变量作为组件的templateUrl的一部分传递?

作为ROBOT框架的一部分传递--form数据

将VARCHAR转换为SMALLDATETIME作为UPDATE语句的一部分

将标题作为CURL的一部分

将数组作为对象的一部分传递给Ajax调用

将Hitimes Gem作为Rails捆绑包的一部分安装时出错

从文件中读取浮点值将删除小数部分的全部或一部分

强制将Windows作为双启动的一部分的情况?

TagHelper,用于以/ users / edit / 10格式将路径值作为链接的一部分传递

为什么将ffmpeg作为x11的一部分删除?

将输出文本作为命令按钮的一部分

将%20作为url的一部分传递到Twitter Web Intent,但显示为''空白

如何使用CoordinatorLayout将视图作为RecyclerView的一部分移动

如何将 zip 文件编码为 multipart/form-data 的一部分

将 null 作为 vararg 参数的一部分从 Kotlin 传递给 Java 方法

Active Directory:是否可以将 Computer$ 帐户作为组的一部分(例如 USERS 组的一部分)

合并多个列,将变量名作为数据的一部分

将参数作为查询字符串或 url 的一部分传递?

Haskell:是否可以将类型作为程序的一部分输出?

将标签和功能文件参数作为 Karate.Runner 的一部分传递(Java 调用)

作为函数的一部分,如何将小数转换为等效时间?