【发布时间】: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);
问题:
- 代码有什么问题吗?
- 如何放心指定原始数据?
- 如何将访问令牌提取到字符串中?
请帮忙。谢谢。
【问题讨论】:
-
cURL 请求一定有问题。可能是 checkHash=false%0A 值或标头值;
-
postman生成的curl代码没问题。
-
尝试 checkHash=false 而不是 checkHash=false%0A
-
我的问题不在于邮递员,而在于放心的自动化代码。
-
您可以通过 WireShark 跟踪 HTTP 通信,然后您会看到这两种情况之间的差异。
标签: java rest web-services rest-assured