如何在机器人框架中将 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 Request
return一个响应object(例如headers,请求本身,其他属性),而不仅仅是有效负载字符串。因此它无法转换为字典。
您可以使用 ${resp.content}
获取有效负载字符串,或者如果您确定它是一个 json,您可以使用 ${resp.json()}
.[= 将其作为已解析的字典直接获取。 13=]
我正在点击 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 Request
return一个响应object(例如headers,请求本身,其他属性),而不仅仅是有效负载字符串。因此它无法转换为字典。
您可以使用 ${resp.content}
获取有效负载字符串,或者如果您确定它是一个 json,您可以使用 ${resp.json()}
.[= 将其作为已解析的字典直接获取。 13=]