如何在机器人框架中将 Http 客户端响应转换为字典

How to Convert Http Client Response into Dictionary in robot framework

我正在点击 url 并获取作为响应数据的数据。我想将此响应转换为字典但它给出了此错误 TypeError: 'com.github.hi_fi.httpclient.domain.ResponseData' object is not iterable 我想将响应转换为字典以从我的响应中获取 id 值

代码:

Create Session  httpbin   ${testServer}    debug=True
    Set Test Variable  &{headers}  Authorization=${Token}
    &{data}=  Create Dictionary  name=robot  gender=male  email=robot64@gmail  status=Active
 
    ${resp}=  Post Request   httpbin   /public/v1/users   ${data}  headers=${headers}
    log   ${resp}
    
    &{dit}=  Convert to Dictionary  ${resp}  //Fails 
    log  &{dit}

我可以通过 ${responseId}= 找到 id 找到 Json 元素 ${resp} $..id

回应: enter image description here

请求库/Post Requestreturn一个响应object(例如headers,请求本身,其他属性),而不仅仅是有效负载字符串。因此它无法转换为字典。

您可以使用 ${resp.content} 获取有效负载字符串,或者如果您确定它是一个 json,您可以使用 ${resp.json()}.[= 将其作为已解析的字典直接获取。 13=]