2017-10-06 1 views
0

SoapUI/ReadyAPI의 어설 션 섹션에서 변수를 선행 및 후행 공백으로 잘라내는 방법은 무엇입니까?SoapUI의 어설 션 섹션에서 변수를 잘라내 (공백)하는 방법은 무엇입니까?

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

Ready API Assertion Popup

+0

모든 선행 및 후행 공백을 제거 마십시오 의미 트림 또는 VAR에 할당 된 값에서 공백을 제거? –

+0

변수에 할당 된 값에서 공백을 제거하는 것을 의미합니다. –

+0

예제 데이터 (이미지 형식이 아닌 텍스트 형식)를 제공하고 어떤 종류의 명제를 사용하고 있는지 언급 하시겠습니까? 그리고 그 문제? 요약/설명이나 아래 답변에서 귀하의 의견을 분명히하지 마십시오. – Rao

답변

1

일부 Google 후에, 나는 어설 션 창에서 주어진 변수의 공간 트림 않는 XSLT/XPath 방법을 가지고있어.

방법 이름 :() 공간을 정상화

사용이 될 것 같은 : 정상화 공간 (// 결과 [1]/ResultSet의 [1]/행 [1] /PAYMNT_RQST.PAYMNT_STAT_CD [1])

normalize-space 함수는 문자열의 공백을 축소합니다.

  1. 각 캐리지 리턴을 대체 (#xD), 라인 피드 (#xA)와 탭 (#의 X9) 하나의 공백 (# x20과)와
  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)를 사용하십시오.

+0

이 방법은 ReadyAPI의 어설 션 팝업에서 작동하지 않습니다. –

+0

스크립트 어서션과 그루비 스크립트에서 저에게 효과적이었습니다.월요일에 직장에서 다시 확인하겠습니다. –

0

는 이제

대신 'XQuery를 일치'를 사용하려고 할 수의로 'XPath는 일치'를 사용하고 있습니다. 자동 공간 우리가 후에 '-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> 

를 제거 볼 수있는 결과이며, 귀하의 예제 코드는 가장 좋은 것은은이나 다른 복잡한 작업에 스크립트 주장을 사용하는 것 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> 

내부에 아래와 같이 될 것입니다. 하지만 위의 도움이 될 것입니다

+1

응답 해 주셔서 감사합니다. 나는 아래에서 언급 한 것처럼 간단한 방법을 가지고있다. 그래서 이것을 시도 할 수 없었습니다. 이것도이 문제를 해결하는 데 도움이 될 것이라고 확신합니다. –