如何在Groovy中解析URL以获取其参数? [英] How to parse a URL to fetch it's parameters in groovy?

查看:228
本文介绍了如何在Groovy中解析URL以获取其参数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我是Groovy脚本的新手,正在寻找解析URL并打印其参数的信息.

I am new to groovy scripting and looking on to parse the URL and print it's parameter.

此网址为: https://www.google.com/?aaa=111&bbb=222&ccc=33&dd=1484088989_b23f248ac6e5d9a9b47475526bb92ee1

This url is : https://www.google.com/?aaa=111&bbb=222&ccc=33&dd=1484088989_b23f248ac6e5d9a9b47475526bb92ee1

如何从URL中获取 dd 参数?

How can i fetch dd parameter from the URL?

感谢您的帮助!

推荐答案

您需要添加一个常规脚本.

You need to add a groovy script.

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'

请检查该帖子. 使用groovy从请求URL soapui中获取查询参数

Please you check this post.Get query params from request url soapui using groovy

这篇关于如何在Groovy中解析URL以获取其参数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆