如何修剪(前导和尾随空格)SoapUI / ReadyAPI断言部分中的变量?
phantomjs.exe --web-security=no script.js
答案 0 :(得分:1)
使用trim作为尾随空格。 使用replace来摆脱空间。
def trimExample = "Some string to be trimmed. ";
def trimmed = trimExample.trim();
def removeSpacesExample = "Some String To Lose All Spaces."
def removedSpaces = removeSpacesExample.replace(' ', '');
使用log.info(varName)查看效果。
答案 1 :(得分:1)
在谷歌之后,我得到了XSLT / XPath方法,该方法在Assertion窗口中对给定变量进行空格修剪。
方法名称:normalize-space()
用法如下: 正常化空间(//结果[1] /结果集[1] /列[1] /PAYMNT_RQST.PAYMNT_STAT_CD [1])
normalize-space函数折叠字符串中的空格。具体来说,它执行三个步骤:
由于
答案 2 :(得分:0)
您正在使用' Xpath Match'截至目前
您可以尝试使用' XQuery Match'代替。它会自动修剪空间
示例响应,我们在' -1 5'之后有空格。 (所以我们会尝试删除空格
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<ConversionRateResponse xmlns="http://www.webserviceX.NET/">
<ConversionRateResult>-1 5 </ConversionRateResult>
</ConversionRateResponse>
</soap:Body>
</soap:Envelope>
将以下代码放入XQuery Match
declare namespace soap='http://schemas.xmlsoap.org/soap/envelope/';
declare namespace ns1='http://www.webserviceX.NET/';
for $x in //ns1:ConversionRateResponse
return <Result>{data($x/ns1:ConversionRateResult)}</Result>
下面是结果,你可以看到5后面的空格被移除
<Result>-1 5</Result>
因此,对于您的示例,代码将如下面的XQuery Match
for $x in //ns:Results[1]/ns:Resultset[1]/ns:Row[1]
return <Result>{data($x/ns:LM_ELEC_PAYMNT_PAYMNT.PLCY_STAT_CD[1])}</Result>
最好的方法是使用脚本断言进行此类或任何其他复杂操作。但上面应该会有所帮助