【问题标题】:"Request Should Have succeeded, but was "400 Bad Request" error on Robotframework-httpLibrary“请求应该成功,但在 Robotframework-httpLibrary 上出现“400 Bad Request”错误
【发布时间】:2016-01-30 07:53:42
【问题描述】:

我正在使用 Robotframework-httplibrary 来自动化我的 Web 服务 API,该 API 具有标头和请求正文。手动 如果我使用 REST 客户端测试这些 API,这些 API 可以正常工作。但是,从我的机器人框架测试用例中它失败了。

我知道错误是测试用例语法或解释器..python2.7(可能不支持)

下面是测试脚本:

*** Settings***  
Library      HttpLibrary.HTTP  
*** Test Cases ***  

Test Create Process       Set Request Header    clientID: vg_site1
                      Set Request Body      {"               "}
                      POST               http://localhost:portno/application
                      Response Status Code Should Equal   200 OK

output:Request should have succeeded, but was "400 Bad Request"

【问题讨论】:

    标签: python python-2.7 robotframework


    【解决方案1】:

    您的请求正文可能不是您认为的那样。因为您使用空格作为分隔符,{" "} 被视为两个单独的单词,并且所有空格都被删除。您需要在每个空格前添加\

    【讨论】:

    • 我不确定反斜杠+空格是否有效......但可以使用更长但可能更明确的 ${SPACE}。
    • 我的实际请求正文内容是 -> {"stream_name" : "test_qaa_site1_mongo", "source_topic" :"mongo_qaa_site1", "source_provider" : "activemq", "sink_host" : "172.16.1.243" , "sink_port" : 27017, "sink_databasename":"igc_datastore_qaa", "sink_collectionname" : "qaa_collection1"} 我可以注意到我的测试用例由于这个 json 主体而失败..
    • @shilpakuppelur:我建议将json放入一个变量中,这样在调用关键字之前可以在日志中显示。也许您的 json 正文中有多余的空格,而您没有注意到。
    • @Brayan,感谢您编辑我的问题,我找到了答案。
    【解决方案2】:

    在我的测试用例中,需要进行两项更改

    1. 我需要使用主机名创建 HTTP 上下文。
    2. 在设置请求正文中,我们不应提供任何空格、冒号或双引号,而应使用
      1. 分配使用 =
      2. 用于空间使用 %20
      3. 用于区分使用&

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-29
      • 2013-10-02
      • 1970-01-01
      • 2021-08-29
      相关资源
      最近更新 更多