【问题标题】:Rest Assured 400 Bad Request放心 400 错误请求
【发布时间】:2020-06-03 08:00:43
【问题描述】:

我放心地编写了一个自动化代码,但它返回 400 Bad Request,我不知道如何调试它。希望有人可以提供帮助。

在邮递员中,我必须使用原始方法指定用户名和密码。它将在表单数据上失败。 如何在放心中指定原始数据?

卷曲:

curl --location --request POST 'http://127.0.0.1:8010/api/v1/account/webapi/account/users/secure/webEncryptLogin?checkHash=false%0A' \
--header 'device_token: wap' \
--header 'Content-Type: application/json' \
--data-raw '{
  "username": "peter1",
  "password": "SomeSecretPassword"
}'

放心的 Java 代码:

given().
                    contentType("application/json").
                    queryParam("checkHash", "false").
                    header("device_token", "wap").
                    params("username", "peter1", "password","SomeSecretPassword").
            when().
                    post("http://127.0.0.1:8010/api/v1/account/webapi/account/users/secure/webEncryptLogin").
            then().
                    log().ifError().
                    assertThat().
                    statusCode(200);

问题:

  1. 代码有什么问题吗?
  2. 如何放心指定原始数据?
  3. 如何将访问令牌提取到字符串中?

请帮忙。谢谢。

【问题讨论】:

  • cURL 请求一定有问题。可能是 checkHash=false%0A 值或标头值;
  • postman生成的curl代码没问题。
  • 尝试 checkHash=false 而不是 checkHash=false%0A
  • 我的问题不在于邮递员,而在于放心的自动化代码。
  • 您可以通过 WireShark 跟踪 HTTP 通信,然后您会看到这两种情况之间的差异。

标签: java rest web-services rest-assured


【解决方案1】:

将参数更改为 body() 方法

【讨论】:

    猜你喜欢
    • 2013-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-21
    相关资源
    最近更新 更多