我有一个测试用例,其中我必须将Rest API响应与数据库结果进行比较。 我自动化的步骤是- 1.发布请求 2.获取API响应 3.与数据库结果比较
在向API发布请求后,当我尝试对其进行评估时,我遇到了错误-
failed: TypeError: Expression must be string, got dictionary.
create session session ${apiurl} disable_warnings=1
&{headers}= Create Dictionary Content-Type=application/json x-api-key=${api_token_key}
${api_response}= post request session ${emp_id}/${module_name} data=${request_body}
... headers=${headers}
${response_list}= evaluate ${api_response.json()}
log to console ${response_list}
遇到上述错误。
我希望将下面的API响应与数据库结果进行比较。
"page": {
"size": 5,
"totalElements": 278,
"totalPages": 56,
"number": 0
},
"embedded": {
"emp": [
{
"id": 1,
"bookid": 2,
"batchid": "2018-aaa",
"title": "ash",
"sub1": 10,
"sub2": 11,
"sub failed": {
"total": {
"value": 50,
"subject": "sub6",
"filter": "[{"field":"1","exclusive":false,"operator":"IN","value":"2018-aaa"}]"
}
},
"sports": {
"total": {
"value": 12,
"subject": "PE",
"filter": "[{"field":"1","exclusive":false,"operator":"IN","value":"2018-aaa"}]"
}
},
"count": 222,
"count1": 333,
"improved": 0,
"last": "2019-08-12",
"isstudent": true
},
如何将以上API响应与数据库结果进行比较
答案 0 :(得分:2)
只需将参数data
更改为json
,因为如果使用data
,则仅适用于Json string
类型。
create session session ${apiurl} disable_warnings=1
&{headers}= Create Dictionary Content-Type=application/json x-api-key=${api_token_key}
${api_response}= post request session ${emp_id}/${module_name} json=${request_body}
... headers=${headers}
${response_list}= evaluate ${api_response.json()}
log to console ${response_list}