2017-01-11 9 views
-3

그루비 스크립팅을 처음 접하고 URL을 구문 분석하고 매개 변수를 인쇄하는 방법을 처음 접했습니다.URL을 파싱하여 그루비에서 매개 변수를 가져 오는 방법은 무엇입니까?

이 URL은 다음과 같습니다 https://www.google.com/?aaa=111&bbb=222&ccc=33&dd=1484088989_b23f248ac6e5d9a9b47475526bb92ee1

은 어떻게 URL에서 DD 매개 변수를 가져올 수 있습니까?

감사합니다.

+0

시도해 보셨습니까? 당신은 어떻게 그 URL을 얻습니까? 그것은 고쳐 졌습니까? 또는 동적? 문자열로 가져 가니? 귀하의 사례에 대한 자세한 내용을 추가하는 것이 도움이 될 수 있습니다. https://docs.oracle.com/javase/tutorial/networking/urls/urlInfo.html – Rao

+2

[groovy를 사용하여 요청 url soapui의 쿼리 매개 변수 가져 오기] (http://stackoverflow.com/)의 가능한 복제본 질문/39535861/get-query-params-from-request-url-soapui-using-groovy) – Rao

답변

3

그루비 스크립트를 추가해야합니다.

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context); 
def testCase = context.testCase; 
def testStep = testCase.getTestStepByName("NAME_TESTStepRequest"); 
def endpoint =testStep.getPropertyValue('Endpoint'); 
log.info endpoint; 
def url = new URL(endpoint) 
//def url = new URL("https://www.google.com/?aaa=111&bbb=222&ccc=33&dd=1484088989_b23f248ac6e5d9a9b47475526bb92ee1") 

// get all query params as list 
def queryParams = url.query?.split('&') // safe operator for urls without query params 
// transform the params list to a Map spliting 
// each query param 
def mapParams = queryParams.collectEntries { param -> param.split('=').collect { URLDecoder.decode(it) }} 
// assert the expected values 
log.info mapParams['aaa'] 
//assert mapParams['aaa'] == '111' 
log.info mapParams['bbb'] 
//assert mapParams['bbb']== 'abc' 
log.info mapParams['dd'] 
//assert mapParams['dd']=='023423' 

이 게시물을 확인하십시오. Get query params from request url soapui using groovy

+0

그럼 질문이 중복되지 않습니까? – Rao

+0

나는 그것이 같은 질문이지만 나의 영어는 당신의 질문을 기쁘게하기 위해 매우 나쁘다고 생각한다. –

관련 문제