我有属性,其值为21.0,有时我需要断言为21.0,有时为21
我有xpath: //Results/ResultSet/Row[@rowNumber="1"]/KI_VALUE
我想要我的结果显示:
<KI_VALUE>21</KI_VALUE>
我的预期结果:${#TestCase#VALUE1}
给我21.0。我怎么能把它变成21?当我试图把它的函数放在它时它引用它,因为它是字符串输出的一部分。
答案 0 :(得分:0)
XPath支持public void onResponse(JSONObject response) {
eta = parseGoogleData(response);
userData.get(index).setEta(eta);//add this setter to your data object if not exist.
adapter.notifyDataSetChanged();
}
。将其添加到表达式中:
round()
请参阅:XPath Specification, 4.4 Number Functions, Function round
答案 1 :(得分:0)
您应该能够使用xpath的starts-with
函数,以便它可以匹配所有起始值。
SoapUI属性被读取为String值,因此不能使用round
函数。
XPath断言方式:
将XPath断言定义为:
starts-with(//Results/ResultSet/Row[@rowNumber="1"]/KI_VALUE, ${#TestCase#VALUE1})
并将预期值用作true
如果您想使用数字匹配它,那么您可以使用Script Assertion
,以便可以在数学上进行比较。
脚本断言方式:
import com.eviware.soapui.support.XmlHolder
def xml = new XmlHolder(context.response)
//change the xpath as per the need
def responseValue = xml.getNodeValue("//Results/ResultSet/Row[@rowNumber="1"]/KI_VALUE") as Double
//change the property name as needed
def expectedValue = context.testCase.getPropertyValue('VALUE1') as Double
assert expectedValue == responseValue, "Both actual and expected KI_VALUE are not matching"