我有一个请求,产生以下回应:
{
"totalRows": 10,
"colDefs": [
{
"entityAttributeId": "somestring",
"headerName": "somestring",
"field": "someNumber",
"entityPath": "",
"entityId": "somestring"
},
{
"entityAttributeId": "somestring",
"headerName": "somestring",
"field": "someNumber",
"entityPath": "somestring",
"entityId": "somestring"
},
{
"entityAttributeId": "somestring",
"headerName": "somestring",
"field": "1",
"entityPath": "",
"entityId": "somestring"
},
{
"entityAttributeId": "somestring",
"headerName": "somestring",
"field": "3",
"entityPath": "somestring",
"entityId": "somestring"
}
],
"rowData": [
{
"1": "",
"2": "s",
"3": "1939EX",
"4": "",
"rowMeta": {
"text/inthisform": {
"someid": "1939EX"
},
"somestring": {
"somestring": ""
}
}
},
{
"1": "",
"2": ",
"3": "1939A2",
"4": "",
"rowMeta": {
"text/inthisform": {
"someid": "1939A2"
},
"somestring": {
"somestring": "somevalue"
}
}
},
{
"1": "",
"2": "",
"3": "1939A1",
"4": "",
"rowMeta": {
"text/inthisform": {
"someid": "1939A1"
},
"somestring": {
"somevalue": "value"
}
}
},
{
"1": "",
"2": "",
"3": "193901",
"4": "",
"rowMeta": {
"sometext/inthisform": {
"somevalue": "193901"
},
"somevalue": {
"somevalue": "value"
}
}
}
]
}
现在我需要对这个字段值应用排序特性。“sometext/inthisform”:{“somevalue”:“193901”},在Java中,我可以通过将此响应存储为一个数组并对其进行排序,然后根据我的排序特性响应对其进行比较来轻松地做到这一点。
来存储arraylist值。由于空手道没有提供任何汇编或任何类型的错误信息,我不知道如何在这种情况下进行?
摘要:我希望将字段的值存储到数组中,并希望对其应用排序。应用排序后,我想将这个新的排序数组与我的特性排序数组响应进行比较。
我是这样找到解决办法的:
>
使用JSONPath存储JSONArray值:
def temp=$ListDataSet_Response.rowData[*].3
* def ArrayList = Java.type('java.util.ArrayList')
* def Collections = Java.type('java.util.Collections')
And def listAsAscending = new ArrayList()
* eval for(var i = 0; i < sometextid.length; i++) listAsAscending.add(sometextid[i])
* eval Collections.sort(listAsAscending, java.lang.String.CASE_INSENSITIVE_ORDER)
* print listAsAscending
And def listAsDescending = new ArrayList()
* eval for(var i = 0; i < sometextid.length; i++) listAsDescending.add(sometextid[i])
* eval Collections.sort(listAsDescending, Collections.reverseOrder())
* print listAsDescending
为了比较列表,请稍后使用我的排序API响应:
* match sortedTemp == listAsAscending
* match sortedTemp == listAsDescending
我一直在验证下面的回答。 当我使用空手道发出获取请求时,我会得到以下响应,我想验证它。 我试过: 它说它不是字符串。你能帮我确认一下这个请求吗?
现在有什么方法可以这样做,还是这是一个特性请求?
我正在使用空手道缺省的arche类型,正如在空手道教程中提到的,并且使用Eclipse成功地运行了cucumber报告的测试,但是当我在Jenkins中使用相同的项目时,我会得到以下错误。我正在使用Java1.8和Cucumber-reporting工具,请帮助我解决这个问题,因为我怀疑这是项目结构的问题 POM文件 `http://maven.apache.org/xsd/maven-4.0.0
我想要帮助验证API响应使用空手道框架。我有相互“独立”的应用编程接口。当我打那个特定的API得到了不同参数的响应(没有单一的匹配从请求参数和响应参数)。 现在我想验证响应参数值。 示例:请求:“方法”帖子 学校名称:“abcd”注册日期:“1:10:2010” 回复:原则名称:“pqrs”原则电子邮件idpqrs@gmail.com 现在我想验证“主名称”不应该为空 我已经像这样实现了,但它不起
我试图为下面的响应编写JSON模式。响应是动态的它可以是细节或细节。如果响应中的是,那么响应将包含人对象(组织对象将不可用)。如果是,组织详细信息将包含在响应中(人对象将不可用)。下面给出了两种不同的预期反应 我试图使用下面给出的模式使上述条件有效 我目前面临的问题是,如果响应中的是,它会抛出以下错误 是否有任何方法可以在模式中指定,如果person对象可用,则organization对象将不可用
我只是想知道如何进行条件模式验证。API响应是基于键的动态响应。如果是,那么,人的详细信息将被包括,如果是组织的详细信息将被包括在JSON响应中。所以响应可以是以下任何一种形式 我为验证上述2个场景而创建的架构如下 但是架构与实际响应不匹配。我应该对架构进行哪些更改才能使其工作?
我无法在我的功能中运行空手道测试 不知道我错过了什么。对于api自动化世界来说是非常新的。非常感谢任何帮助。
我正在尝试通过空手道关闭SSL证书验证。现在我得到了错误: javax.net.ssl.sslHandShakeException:Sun.Security.Validator.ValidatorException:PKIX路径构建失败:Sun.Security.Provider.CertPath.SunCertPathBuilderException:找不到请求目标的有效证书路径