Python POST请求从机器人文件调用抛出400



我对python和机器人框架非常陌生,如果有人能指出我正在做的错误是什么,那就太好了。我正在创建一个简单的函数,它将向名为Zephyr的测试管理工具发送POST请求并上传结果。我已经从"邮差"(它在那里完美地工作)复制了代码,但似乎没有从机器人文件运行。它给了我一个错误:

{"errorCode":400,"message":"HTTP 400错误请求"}

我代码:

import requests
def upload_to_zephyr():
url = "https://api.zephyrscale.smartbear.com/v2/automations/executions/junit?projectKey=someKey"
payload = {}
files = [('file', ('junitresult.xml', open('/path-to-results/junitresult.xml', 'rb'), 'text/xml'))]
headers = {
'Content-Type': 'multipart/form-data',
'Authorization': 'Bearer token value'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)

我已经将其保存在一个名为uploadToZephyr.py的文件中。然后我创建了一个简单的机器人框架测试来调用这个文件。python文件和robot文件都在同一个位置。

*** Settings ***
Library  uploadToZephyr.py
*** Variables ***
*** Test Cases ***
Upload Results to Zephyr
upload_to_zephyr
*** Keywords ***

我通过删除def upload_to_zephyr():来解决这个问题。现在我的uploadToZephyr.py看起来像:

import requests
url = "https://api.zephyrscale.smartbear.com/v2/automations/executions/junit?projectKey=someKey"
payload = {}
files = [('file', ('junitresult.xml', open('/path-to-results/junitresult.xml', 'rb'), 'text/xml'))]
headers = {
'Content-Type': 'multipart/form-data',
'Authorization': 'Bearer token value'
}
response = requests.request("POST", url, headers=headers, data=payload, files=files)
print(response.text)

在我的机器人测试中我使用了:

*** Settings ***
Library  uploadToZephyr.py
Library  OperatingSystem
*** Variables ***
*** Test Cases ***
Upload Results to Zephyr
${output}=  Run And Return RC  python3 uploadToZephyr.py
*** Keywords ***

相关内容

  • 没有找到相关文章

最新更新