SoapUI - Groovy Script小应用
2016-06-16 10:59
369 查看
为什么会有这个小应用出现呢?
事情是这个样子的:公司的项目,需要用到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中调用。
事情是这个样子的:公司的项目,需要用到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中调用。
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- c++11 + SDL2 + ffmpeg +OpenAL + java = Android播放器
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树