【问题标题】:Python POST Request called from robot file throws 400从机器人文件调用的 Python POST 请求抛出 400
【发布时间】:2021-10-19 23:10:51
【问题描述】:

我对 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文件和机器人文件都在同一个位置。

*** Settings ***
Library  uploadToZephyr.py

*** Variables ***

*** Test Cases ***

Upload Results to Zephyr
    upload_to_zephyr

*** Keywords ***

【问题讨论】:

  • 不是一个答案,只是一个调试提示 - 您可以调用 prepare(),并检查 bodyheaders 属性,以查看实际发送的内容,以及它与实际发送的内容有何不同服务器正在等待。请记住,它们在 Request 类中。
  • 感谢@TodorMinakov 的建议。我会牢记这一点,以备不时之需。
  • 当然;我仍然不知道为什么它在第一个版本中不起作用,而在第二个版本中起作用。

标签: python python-3.x post robotframework jira-zephyr


【解决方案1】:

我通过删除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 ***

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-21
    • 2018-07-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-25
    • 1970-01-01
    相关资源
    最近更新 更多