lr_java user协议脚本开发
1、准备工作,安装jdk,配置环境变量
lr11 jdk1.6 32位
lr12 jdk1.7 32位
注:若原已安装了jdk1.8,现要安装jdk1.7,若遇到安装好1.7并配置好环境后,在cmd中录入 java -version。
看到还是jdk1.8。那是因为安装1.8时自动在环境变量里加入了C:\ProgramData\Oracle\Java\javapath,在环境变量path里去掉后1.7就生效了;
2、在idea编译器里编写好md5脚本(也可直接让开发人员提供算法文件),运行确认效果后打包成jar包;
以下为新建脚本至打包成jar包过程:
1) 新建项目 ;
2)sdk选择1.7版本的,然后点击下一步;
3)不选择模板,直接点击下一步;
4)项目命名md5
5)点击finish,提示项目文件将被创建
6)新建包
给包命名后,点击ok;
7)在包下创建java class文件
在这些文件下编辑md5和发送请求的方法,也可由开发提供,直接复制到该目录下进行引用;编写调用方法测试效果;
注:导入lib包:
8)打jar包;
9)选择类方法后,点击ok;
10)给导出的jar包命名;
11) build,点击构建jar包
3、loardrunner里的操作:
1)新建java vuser协议脚本
2)在runtime setting里的classpath里添加打好的md5jar包、还有脚本调用到的所有lib里的jar包以及jdk的tools.jar和dt.jar包;
3)在Actions脚本里导入调用的md5和发送请求的方法类,以及要调用到的方法;
4)编写脚本如下:import lrapi.lr;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import md5.HttpClientRequest;
import md5.MD5;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
public class Actions
{
public int init() throws Throwable {
return 0;
}//end of init
public int action() throws Throwable {
// 定义登录URL地址
String login_url = "http://192.168.46.129:8080/mobile/api/user/login";
// 定义请求的参数
String login_data = "{\"mobile\":\"18807406054\",\"password\":\"123456\"}";
lr.start_transaction("登录");
// 调用HttpClientRequest类里面的sendpost方法
String PostResult = HttpClientRequest.sendPost(login_url, login_data);
System.out.println("登录返回:"+ PostResult);
JSONObject jsonobj = new JSONObject(PostResult);
int status = (int) jsonobj.get("code");
if (status==0)
{
lr.end_transaction("登录", lr.PASS);
lr.output_message("登录成功");
}
else
{
lr.end_transaction("登录", lr.FAIL);
lr.error_message("登录失败");
}
System.out.println("code:" +status);
// 获取token值
String token = (String) jsonobj.getJSONObject("data").get("token");
System.out.println("token:" +token);
//重置密码
String modifypaypwd_url = "http://192.168.46.129:8080/mobile/api/user/resetpaypwd";
// 调用md5类里面的getmd5code这个方法
String newPasswod = MD5.GetMD5Code("123456");
System.out.println("newPasswod:" +newPasswod);
String modifypaypwd_data = "{\"token\":\""+token+"\",\"password\":\""+newPasswod+"\"}";
lr.start_transaction("重置支付密码");
String PostMd5Result = HttpClientRequest.sendPost(modifypaypwd_url, modifypaypwd_data);
System.out.println("重置密码返回:" + PostMd5Result);
JSONObject jsonobj_resetpasswd = new JSONObject(PostMd5Result);
int resetpasswd_status = (int) jsonobj_resetpasswd.get("code");
if (resetpasswd_status==0)
{
lr.end_transaction("重置支付密码", lr.PASS);
lr.output_message("重置支付密码成功");
}
else
{
lr.end_transaction("重置支付密码", lr.FAIL);
lr.error_message("重置支付密码失败");
}
String getorderlist_url = "http://192.168.46.129:8080/mobile/api/order/getorders?";
// 调用md5类里面的getmd5code这个方法
String code_token="";
try
{
code_token=URLEncoder.encode(token,"utf-8");//对token进行urlencode
}
catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
String getorderparam = "token="+code_token+"&offset=0";
lr.start_transaction("获取订单列表");
String getorderlist_result = HttpClientRequest.sendGet(getorderlist_url, getorderparam);
System.out.println("getorderlist_result:" + getorderlist_result);
JSONObject jsonobj_getorderlist_result = new JSONObject(getorderlist_result);
int getorderlist_status = (int) jsonobj_getorderlist_result.get("code");
if (getorderlist_status==0)
{
lr.end_transaction("获取订单列表", lr.PASS);
lr.output_message("获取订单列表成功");
}
else
{
lr.end_transaction("获取订单列表", lr.FAIL);
lr.error_message("获取订单列表成功");
}
return 0;
}//end of action
public int end() throws Throwable {
return 0;
}//end of end
}
lr_java user协议脚本开发的更多相关文章
- [性能测试]:关于MQ协议脚本开发
消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们. 银行脚本使用MQ通信的较多,下面介绍一个MQ的脚本: M ...
- 性能测试学习 第八课--LR12中针对WebServices协议的三种脚本开发模式
一,webservices协议简介 webservices是建立可交互操作的分布式应用程序的新平台,它通过一系列的标准和协议来保证程序之间的动态连接, 其中最基本的协议包括soap,wsdl,uddi ...
- LR12中针对WebServices协议的三种脚本开发模式
一,webservices协议简介 webservices是建立可交互操作的分布式应用程序的新平台,它通过一系列的标准和协议来保证程序之间的动态连接, 其中最基本的协议包括soap,wsdl,uddi ...
- Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
脚本开发-利用loadrunner开发Windows Sockets协议脚本 by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 实践举例 Socket服务端简单实 ...
- Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试 by:授客 QQ:1033553122 目的 实现基于http协议的流媒体在线视频播放,服务器性能测试脚本,模拟用户浏览器方式在线播放 ...
- 【JMeter4.0学习(三)】之SoapUI创建WebService接口模拟服务端以及JMeter对SOAP协议性能测试脚本开发
目录: 创建WebService接口模拟服务端 下载SoapUI 新建MathUtil.wsdl文件 创建一个SOAP项目 接口模拟服务端配置以及启动 JMeter对SOAP协议性能测试脚本开发 [阐 ...
- 老李分享:loadrunner的java user脚本开发
老李分享:loadrunner的java user脚本开发 poptest在性能测试loadrunner的课程里,以web协议为主,同时也讲解其他协议的脚本开发,对于一个性能测试工程师需要掌握一个以上 ...
- loadrunner之java user脚本开发
脚本开发环境: loadrunner11.0 jdk1.6.32_x86_32 脚本开发 1.选择JavaVuser协议 2.配置java环境(Vuser--RunTime Settings) 3.开 ...
- Loadrunner11中webservice协议脚本总结
Loadrunner11中webservice协议脚本总结 简介 webservices协议是建立可交互操作的分布式应用程序的新平台,它通过一系列的标准和协议来保证程序之间的动态连接,其中最基 ...
随机推荐
- asp.net core 使用 web deploy 部署网站
1.添加角色和功能中 web服务器(iis)->管理工具->管理服务 打勾并安装 2.安装 web deploy,也可以通过 web平台安装程序 来安装,搜索web deploy就可以了 ...
- linux和windows下icmp的区别
实验方式:先从linux虚拟机ping windows主机,然后从windows主机ping linux虚拟机,在pc上采用wireshark抓包. 如下(只保留了关键信息) 可以看到linux发出的 ...
- radhat6.6上安装oracle12c RAC (一)
软件环境:VMware.redhat6.6.oracle12c(linuxx64_12201_database.zip).12cgrid(linuxx64_12201_grid_home.zip) 一 ...
- 为input标签绑定事件的几种方式
为input标签绑定事件的几种方式 1.JavaScript原生态的方式,直接复制下面的代码就会有相应的效果 <!DOCTYPE html><html><head> ...
- oracle 结果集合并
SELECT case ' then ()) FROM T_UEP_DB_UNION A ' ' start with A.UNION_CODE = U.UNION_CODE CONNECT BY P ...
- oracle 锁表
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = ...
- UVA11020 Efficient Solutions
思路 先判断一个点能不能插入,能插入的话删除所有因为它而没有优势的点 注意 写 S.erase(it); it++; 会RE 要写 S.erase(it++); 代码 #include <cst ...
- LintCode 521.去除重复元素
LintCode 521.去除重复元素 描述 给一个整数数组,去除重复的元素. 你应该做这些事 1.在原数组上操作 2.将去除重复之后的元素放在数组的开头 3.返回去除重复元素之后的元素个数 挑战 1 ...
- stm32库函数建工程和使用Keil自带库建工程有没有区别?发现了同样的程序在两种情况下keil自带库可以运行的情况,不知是什么原因
我使用库函数建的工程(非Keil自带库),为了实现SPI对Si24r1芯片数据的读写,以验证stm32是否可以和si24r1能够正常通信,发现使用库函数建的工程程序不能通过,读出来的数据和写的数据不一 ...
- 9、Docker私有registry
Docker Registry分类 Docker 默认是使用https的,但是如果在自己得私有局域网中,你指明使用http也是可以的. Registry主要的作用是托管镜像: 运行docker reg ...