SoapUI - Groovy Script小应用

为什么会有这个小应用出现呢?

事情是这个样子的:公司的项目,需要用到timestamp和accessToken这两个参数,原先我们的研发将获取参数的程序布在外网上,我们可以轻松使用SoapUI的Http Request,解析返回值,传参供后续其他Rest Request使用;现在,布程序的外网地址需要调整,那就苦了我们测试了,原先的辣么多HTTP request咋整?


看来,当初想偷懒不自己写代码获取参数的想法真是不太明智啊!

于是乎,特地请教了公司的研发,通过 Groovy Script获取timestamp和accessToken,哈哈,妈妈再也不用担心网址又变啦~~~


进入正题:

1. 首先,需要把java编程需要的jar包放进SoapUI安装目录下,如F:\Program Files\SoapUI-5.2.0\bin\ext;

链接: http://pan.baidu.com/s/1i5g28oX 密码: rj3t


2.打开 SoapUI,在需要获取参数的位置新建步骤 Groovy Script,代码如下:

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.lang.StringUtils;

def timestamp = String.valueOf(System.currentTimeMillis());
def accessToken = DigestUtils.md5Hex(String.format("%s%s%s", context.expand('${Properties#appid}'),context.expand('${Properties#client_secret}'), timestamp));
return [timestamp: timestamp, accessToken: accessToken] 


3.点击运行按钮,可以看到,返回了我们需要的timestamp和accessToken



4.代码分析

看看其实也很简单,才5行对不对,可是对于没有java基础的我来说,也是蛮困难的,看来该好好学习Java了!

当然,虽然我看不太懂,但是研发耐心啊,和我详细的解释了一番,小白就该勤奋,特此记录下来!


a. 最上面两句,是导入jar包,这个比较好理解;

b. 第三句,定义一个参数timestamp,并且定义了获取该参数的方法,这个方法不需要入参;

c. 第四句,定义另一个参数accessToken,也定义了获取该参数的方法,这个方法需要三个参数,其中一个参数就是上一步中获取的timestamp,另两个参数,我们也已经从数据库中获取,并存在变量Properties中,命名分别为appid和client_secret。如何引用Properties中的变量?context.expand('${Properties#xxxx}')即可!

d. 最后一句,返回我们需要的两个参数,这里使用jason返回,方便下一个步骤 Property Transfer中调用。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值