Robot Framework问题篇_如何获取接口返回值

问题背景:
公共的关键字中一般只断言返回值的State和errorCode,不能满足一些复杂类接口,需要断言返回值中具体某些个字段的返回值是否与预期一致。

问题解决:
简单返回值,只包含1层,我们取state 或errorCode
例如返回值为:
{
“data”: {
“result”: 1,
“token”: “xxx”,
“updateFacebook”: null,
“uId”: 2111777959
},
“state”: 1,
“errorCode”: null,
“errorMsg”: null
}
怎么获取state?
${state} output response state
怎么获取body中的result?
${result} output response body data result

复杂返回值,包含dict数据类型
例如:
{
“data”: {
“orderInfoRspVo”: [
{
“orderNo”: “xxx”,
“loanTypeId”: x,
“loanType”: “xxx”
}
],
“orderUserInfoRspVo”: {
“userId”: xxx,
“name”: “xxxxx”,
},
“userQuotaRspVo”: {
“creditQuota”: xxxx,
“usedQuota”: xxxxxxx
},
“ruleResultRspVo”: null
},
“state”: 1,
“errorCode”: null,
“errorMsg”: null
}

怎么获取orderNo?
${result} output response body data
${orderNo} output ${result[‘orderInfoRspVo’][0][‘orderNo’]}

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RobotFramework-常⽤断⾔讲解 常⽤断⾔讲解 RobotFramework带有丰富的系统关键,使⽤时⽆需导⼊,直接使⽤,为写⾃动化⽤例带来了极⼤的⽅便;不能停留在知道或者是会得程度,只有熟练使⽤各关键字,才能 提升⾃动化⽤例的写作效率。 下⾯将逐个举例介绍:为⽅便讲解,⾸先创建三个list变量:list_a、list_b、list_c;以及两个scalar变量:string和name。 @{list_a} create list 1 a ${21} 21 12 @{list_b} set variable 1.0 a ${21} 21 21 @{list_c} create list ${string} set variable fighter is in shenzhen ${name} set variable luruifeng 备注:以下提供的⽤例都是断⾔成功。 01、should contain 、 should not contain 与should contain x times should contain ${list_b} 1.0 should not contain ${list_b} 1 should contain x times ${list_b} 21 2 说明:变量${list_b}包含对象1.0⽽不包含对象1,且对象21在变量${list_b}出现了两次。 02、should be empty 与 should not be empty should be empty ${list_c} should not be empty ${list_a} 说明:变量${list_c}没有赋,所以为空;相反,变量${list_a}有赋初始,故为⾮空。 03、should be equal 与 should not be equal should be equal ${list_a[1]} ${list_b[1]} should not be equal ${list_a} ${list_b} 说明:${list_a[1]}=a,${list_b[1]}=a故两个对象相等;⽽${list_a}和${list_b}有元素不⼀致,这两个对象不相等。 04、Should Be Equal As Numbers 与 Should not Be Equal As Numbers Should Be Equal As Numbers ${list_b[0]} 1.0000 Should not Be Equal As Numbers ${list_b[0]} 1.1 说明:${list_b[0]}=1,忽略精度,故与1.0000相等;⽽即使是忽略精度,1与1.1还是不相等的; 05、Should Be Equal As Integers与Should not Be Equal As Integers Should Be Equal As Integers ${list_a[3]} ${list_b[3]} Should not Be Equal As Integers ${list_a[4]} ${list_b[4]} 说明:${list_a[3]}=21,${list_b[3]}=21,⽽系统默认为字符串格式的"21",故需要转化为整数类型,转化为整数后两个对象相等; ${list_a[4]}=12,${list_b[4]}=21,即使转化为整数后两个对象依旧是不相等; 06、Should Be Equal As Strings与Should not Be Equal As Strings Should Be Equal As Strings ${list_a[2]} ${list_b[2]} Should not Be Equal As Strings ${list_a[0]} ${list_b[0]} 说明:${list_a[2]}=${21},${list_b[2]}=${21},⽽均为数型的21,故需要转化为字符串类型,转化为字符串后两个对象相等;

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值