2017-10-06 5 views
0

SoapUI/ReadyAPIのアサーションセクションの変数をトリミングする方法(先頭と末尾のスペース)SoapUIのアサーションセクションの変数をトリミング(スペース)する方法は?

Ex: 
Input String : "Failure " 
Output String : "Failure" 

Ready API Assertion Popup

+0

あなたはVARに割り当てられた値からスペースをトリミングまたは削除を意味するのですか? –

+0

私は、変数に割り当てられた値からスペースを削除することを意味します。 –

+0

サンプルデータ(テキスト形式でイメージではありません)を提供して、どのようなアサーションを使用しているのかをお聞かせください。そして問題?要約/説明から明解でも、下の解答からもあなたのコメントからは分からない。 – Rao

答えて

1

私はXSLT/XPathメソッドを使って、アサーションウィンドウで与えられた変数のスペーストリムを取得しました。

名方法:正規化空間()

使用法のようになる: 正規化空間(//結果[1]/ResultSetの[1] /行は、[1] /PAYMNT_RQST.PAYMNT_STAT_CD [1])

normalize-space関数は、文字列内の空白を崩壊させます。具体的には、3つのステップを実行する:

  1. は単一のスペース(#1 X20)と、各キャリッジリターン(#xD)、ラインフィード(の#xA)、タブ(#1 X9)
  2. 文字が全て連続折りたたみ置き換え単一のスペースに
  3. スペースは、すべての先頭と末尾のスペースを削除し

おかげ

+1

これはGroovyメソッドではありません。これはXPathメソッドです。 – SiKing

+0

あなたは正しいです。私はそれを更新しました。ありがとうございました –

1

使用末尾のスペースのためのトリム。 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)。あなたは今

のよう「のXpathマッチ」を使用している

+0

これらの方法は、ReadyAPIのアサーションポップアップでは機能しません。 –

+0

それは私のためにScript AssertionとGroovy Scriptで働いていました。私は月曜日の仕事で再確認します –

0

は、あなたの代わりに「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> 

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> 
XQueryのマッチに以下のコードを入れてスペースを削除しようとします以下は

はあなたのためにだから5の後ろにスペースが

<Result>-1  5</Result> 

を除去して見ることができた結果であり、あなたの例のコードは、最善のことは、そのようなまたはその他の複雑な操作のためのスクリプトのアサーションを使用したことになる

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> 

XQueryのマッチ

の内側に以下のようになります。しかし、上記は役に立つはずです

+1

お返事ありがとうございます。私は以下のような簡単な方法を持っています。だからこれを試すことができませんでした。私はこれがこの問題の解決にも役立つだろうと確信しています。 –

関連する問題