嘿那里,我有用groovy编写的SOAPUI测试用例。在我安装最新版本的SOAPUI(5.4.0,在Windows 10机器上)之前,测试在5.3.0(在Linux机器上)上很好。随着新版本我得到一个断言失败。似乎创建了一个数组并将其放入索引为0的数组中。因此names.contains(“username”)失败。
我不明白为什么在安装新版本的SOAPUI后测试失败了。
有没有人知道什么在这里? 有没有人下载5.3.0版本,所以我可以再次使用该版本进行测试?
最好的问候
答案 0 :(得分:0)
我确认以下代码在soapui 5.4.0中失败:
import org.json.JSONObject;
def jsonData = '''
{ "aaa":1, "bbb":2 }
'''
def json = new JSONObject(jsonData)
def names = json.names().iterator().toList()
assert names.contains("aaa")
log.info "SUCCESS!!!"
有错误:
Assertion failed: assert names.contains("aaa") | | | false [["aaa","bbb"]] error at line: 9
问题:
soapui 5.4.0包含org.json
包的非常旧的库:json-20090211.jar
其他版本:https://mvnrepository.com/artifact/org.json/json
<强>的解决方法强>
使用newer version替换soapui的json-20090211.jar
文件夹中的lib
。但不确定这会如何影响soapui本身。
使用基于groovy的json解析器重写代码:
def jsonData = '''
{ "aaa":1, "bbb":2 }
'''
def json = new groovy.json.JsonSlurper().parseText(jsonData)
def names = json.keySet()
assert names.contains("aaa")
log.info "SUCCESS!!!"