【问题标题】:How to rest API with PUT method via robot framework如何通过机器人框架使用 PUT 方法休息 API
【发布时间】:2022-01-05 13:51:49
【问题描述】:

我有一个测试套件

Library     RequestsLibrary
Library     JSONLibrary
Library   OperatingSystem


*** Variable ***
${base_url}    https://api.sportpartnerxxx.vn/v1
${identity_URL}    https://identity.sportpartnerxxx.vn
${Profile}    https://api.sportpartnerxxx.vn/v1/profile

*** Test Cases ***

Login
    ${body}=    Create Dictionary    client_id=sportpartner-mobile-app    client_secret=ifd-sportpartner-secret-2021-mobile-app    grant_type=password    username=nnbbtd@gmail.com    password=123456
    ${header}=    create dictionary  content_type=application/x-www-form-urlencoded
    ${response}=    Post    ${identity_URL}/connect/token    headers=${header}    data=${body}
    Set Suite Variable    ${token}    Bearer ${response.json()["access_token"]}
    Set Suite Variable    ${refresh_token}    ${response.json()["refresh_token"]}
    Status Should Be    200
    Log To Console    ${token}

UpdateLanguageStatus
    ${body}=    Create Dictionary    languageId=20
    ${header}=    create dictionary    Content-Type=application/json    Authorization=${token}
    ${response}=    PUT    ${Profile}/me/settings    data=${body}    headers=${header}
    Log To Console    ${response.status_code}
    Log To Console    ${response.content}

返回结果是登录成功,UpdateLanguageStatus 失败。 UpdateLanguageStatus 返回 400。我不知道原因。另一方面,我在邮递员上运行这个测试用例,它工作得很好 enter image description here。有人帮助我吗?

【问题讨论】:

    标签: rest robotframework


    【解决方案1】:

    ${body} 的字典内容在发送请求之前似乎没有序列化为 json。 输出如下所示:

    {'languageId': '20'}
    

    应该是这样的:

    {"languageId": "20"}
    

    您可以在发送前添加以下内容:

    ${body}  Evaluate  json.dumps(${body})  json
    

    附加说明 - 如果 languageId 是 int 则您可能需要更改已有的行,以便 20 在 ${} 之内,例如

    ${body}=    Create Dictionary    languageId=${20}
    

    【讨论】:

    • 是的,效果很好。非常感谢
    猜你喜欢
    • 2022-01-02
    • 2019-10-25
    • 2017-01-07
    • 1970-01-01
    • 2015-12-08
    • 1970-01-01
    • 2014-02-14
    • 2015-02-25
    • 2022-11-01
    相关资源
    最近更新 更多