为什么我的 soapui 测试用例在安装新的 soapui 版本(5.3.0 -> 5.4.0)后失败
Why does my soapui testcase fail after installing new soapui version (5.3.0 -> 5.4.0)
嘿,我有用 groovy 编写的 SOAPUI 测试用例。在我安装最新版本的 SOAPUI(5.4.0,在 Windows 10 机器上)之前,5.3.0(在 Linux 机器上)的测试很好。使用新版本我得到一个断言失败。似乎创建了一个数组并将其放入索引 0 处的数组中。因此 names.contains("username") 失败。
不明白为什么安装新版SOAPUI后测试失败。
有人知道这里发生了什么吗?
谁有 5.3.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
解决方法
将soapui的lib
文件夹中的json-20090211.jar
替换为newer version。但不确定这将如何影响 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!!!"
嘿,我有用 groovy 编写的 SOAPUI 测试用例。在我安装最新版本的 SOAPUI(5.4.0,在 Windows 10 机器上)之前,5.3.0(在 Linux 机器上)的测试很好。使用新版本我得到一个断言失败。似乎创建了一个数组并将其放入索引 0 处的数组中。因此 names.contains("username") 失败。
不明白为什么安装新版SOAPUI后测试失败。
有人知道这里发生了什么吗? 谁有 5.3.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
解决方法
将soapui的
lib
文件夹中的json-20090211.jar
替换为newer version。但不确定这将如何影响 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!!!"