接口测试 如何判断期望结果和实际结果是否一致

丧尸没有牙齿 · 2018年06月19日 · 最后由 守望@天空~ 回复于 2018年06月19日 · 1647 次阅读

期望结果:{"errorcode":"0","errormsg":"登录成功","userid":"3092"}
实际接口返回的结果:{ "data": {
"expire_time": 1531985173,
"iset_paypsw": 1,
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1aWQiOiIzMDkyIiwiYWNjb3VudCI6Inl1cGVuZ0B4Y2xvdWQuY2MiLCJleHBpcmVfdGltZSI6MTUzMTk4NTE3M30.XZb_RZ7xhk9yCnFNl51u_qQbjIa7kI2MGPfIfDfwZS8",
"userid": "3092"
},
"errorcode": "0",
"errormsg": "登录成功"
}
两个结果都是字符串类型的,并非字典。我用字符串的 in 方法判断,会显示不在期望结果不在实际结果中

共收到 6 条回复 时间 点赞

你这个用 in 是行不通的。试试看反序列回来。反序列回来就是字典了。用字典去判断

tonglei 回复

额,我只是想判断如果包含就返回 True,不需要这么复杂啊

结果中 ‘’code‘’ 为 0 就是 True

python 有对比两个 json 的库,你去 gayhub 搜搜看
还有你这种对比方法,适用范围很小,对于一些复杂的接口数据,根本没办法做断言。
还是把 json 解析出来,根据业务对每个字段进行断言,比较准确。

解析成 dict 简单遍历一下就行了啊

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册