如何修剪(空间)在SoapUI的断言部分的变量?
如何在SoapUI/ReadyAPI的断言部分修剪(前导和尾随空格)变量?如何修剪(空间)在SoapUI的断言部分的变量?
Ex:
Input String : "Failure "
Output String : "Failure"
经过一些谷歌后,我得到了XSLT/XPath方法,它在断言窗口中对给定变量进行空间裁剪。
方法名称:正常化空间()
用途将是这样的: 正常化空间(//结果[1] /结果集[1] /列[1] /PAYMNT_RQST.PAYMNT_STAT_CD [1])
规格化空间函数折叠字符串中的空格。具体地,它执行三个步骤:
- 替换每个回车符(#xD),换行(#xA)和标签(#X9)
- 字符用一个空格(#X20)折叠所有连续
- 空间为单个空格删除所有前导和尾随空格
感谢
这不是一个Groovy方法,这是一个XPath方法。 – SiKing
你说得对。我更新了它。谢谢 –
使用修剪的尾随空格。 使用替换来摆脱空格。
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)查看效果。
这些方法在ReadyAPI中的断言弹出窗口中不起作用。 –
它在脚本断言和Groovy脚本中为我工作。我将在周一重新检查工作, –
您正在使用“Xpath的比赛”截至目前
你可以尝试使用“XQuery的比赛”来代替。它会自动修剪空间,我们以后“-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比赛
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的比赛
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>
的最好的事情是使用脚本断言这种或任何其他复杂的操作中。但上面应该是有帮助的
感谢您的回复。我有一个简单的方法,正如我在下面提到的。所以不能试试这个。我相信这也有助于解决这个问题。 –
你的意思修剪或分配给VAR值删除空格? –
我的意思是从分配给变量的值中删除空格。 –
你介意提供样本数据(文本形式,而不是图片),并提及您使用的是什么样的断言?这个问题呢?从摘要/描述或从您的意见下面的答复中都不清楚。 – Rao