51Testing软件测试论坛
标题: SOAP UI 打断言的问题 [打印本页]
作者: 忘却 时间: 2018-5-11 13:26
标题: SOAP UI 打断言的问题
老师你好,我用soapui做测试,添加断言判断:这个id是通过post方法传进来的,现在通过get方法,判断传递的参数id跟get的id值一样。
def root = net.sf.json.JSONSerializer.toJSON(messageExchange.responseContent)
log.info root.get("id")
assert root.id.equals(context.expand('${Properties1#id}'))
log.info context.expand('${Properties1#id}')
运行报错:assertroot.id.equals(context.expand('${Properties1#id}')) | | | | | | 53 false | 53 |[ThreadIndex:0, RunCount:0] net.sf.json.JSONObject@5d98453d (toString() threwgroovy.lang.GroovyRuntimeException
但是单独运行:
def root = net.sf.json.JSONSerializer.toJSON(messageExchange.responseContent)
log.info root.get("id")
log.info context.expand('${Properties1#id}')
结果是pass的,出来的id是一样的。怎么就是加了assert那句话就不对了呢?
部分response json数据:
{
"id": 53,
"defaultRoleId": 1,
"loginId": "test55",
"password":"8F0E2F76E22B43E2855189877E7DC1E1E7D98C226C95DB247CD1D547928334A9",
"name": "user name",
"email": "xxx@xxx.com",
"phone": "123456789",
"repository": "DB",
"deleted": "N",
"departmentList": [ {
请老师看一下,
在学课程
SoapUI让你轻松玩转WebService接口测试直播
作者: 学掌门网校 时间: 2018-5-14 11:52
[ThreadIndex:0, RunCount:0] net.sf.json.JSONObject@5d98453d (toString() threw groovy.lang.GroovyRuntimeException
从这句报错信息可以判断,是类型不匹配导致断言出错,
表面上看内容是一样,但是两者类型不匹配,可以用groovy中的.class来查看数据类型
log.info root.id.class //非String类型
log.info context.expand('${Properties#pid}').class //String类型
需要把assert语句替换成如下形式:
assert root.id.toString().equals(context.expand('${Properties1#id}'))
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) |
Powered by Discuz! X3.2 |