【发布时间】:2021-02-26 20:09:02
【问题描述】:
我正在尝试在 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 请求命令和机器人框架测试用例传递给应用程序的文件似乎有所不同。
测试用例是否正确,尤其是我传递“源文件”的方式?
我应该在机器人框架中以不同的方式对待“@”/home/test.zip 中的这条路径吗?
【问题讨论】:
-
对我来说,乍一看还不错。
the file could not be processed by the application successfully你得到了什么?服务器的响应代码是什么?您能否通过 localhost 上的代理发送请求并查看这两个请求的差异? -
远程系统将无法读取您的本地文件。您可能必须读取数据并在文件中传递数据,而不是文件本身。
-
@BryanOakley,非常感谢,第二个链接给了我一个好主意。我的测试用例有效。将在下面粘贴正确的测试用例以供一般参考。
标签: robotframework