步骤:
1、根据自己使用的lr版面选择jdk

  1)LR11   1.6   32位

  2)LR12   1.7   32位

2、安装好jdk,并搭建java环境变量,安装好java代码编写工具

3、在src下创建一个包(我的是com.md5),将需要的jar文件放在lib目录下(没有的自己创建)

4、在包下放HttpClientRequest方法类、MD5算法类

5、写好Md5Request.java
6、将com.md5打包成jar文件md5_test.jar

file-->Project Structure-->Artifacts-->JAR

7、在lr新建java Vuser协议的脚本

8、在runtime setting 的classpath中添加jar文件:

1)lib中的jar文件
2)jdk安装目录lib下的dt.jar和tools.jar
3)自己打包的md5_test.jar

9、最后将Md5Request.java里面的代码复制到lr的action方法中

lr代码如下:

/*
* LoadRunner Java script. (Build: _build_number_)
*
* Script Description:
*
*/ import lrapi.lr;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.StringEntity;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.util.EntityUtils;
import org.codehaus.jettison.json.JSONObject;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.URL;
import java.net.URLConnection;
import java.util.List;
import java.util.Map;
import org.codehaus.jettison.json.JSONException;
import org.codehaus.jettison.json.JSONObject;
import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
//引入md5文件
import com.md5.MD5;
//引入HttpClientRequest文件
import com.md5.HttpClientRequest; public class Actions
{ public int init() throws Throwable {
return ;
}//end of init public int action() throws Throwable {
//调用md5加密算法 将密码加密 重置密码时传参要用
String md5pwd = MD5.GetMD5Code("");
lr.start_transaction("登录");
//登录
String loginRequest = HttpClientRequest.sendPost("http://192.168.145.130:8080/mobile/api/user/login","{\"mobile\":\"18705092505\",\"password\":\"123456\"}");
System.out.println("登录响应数据:"+loginRequest);
//创建JSONObject对象,获取登录响应数据loginRequest
JSONObject loginRusult = new JSONObject(loginRequest);
//获取code
int loginCode = (int)loginRusult.get("code");
if (loginCode == ){
lr.end_transaction("登录", lr.PASS);
}else {
lr.end_transaction("登录", lr.FAIL);
}
//获取token
String token = (String)loginRusult.getJSONObject("data").get("token"); //重置密码 并判断是否成功
String resetpaypwd = HttpClientRequest.sendPost("http://192.168.145.130:8080/mobile/api/user/resetpaypwd","{\"token\":\""+token+"\",\"password\":\""+md5pwd+"\"}");
System.out.println("重置密码响应数据:"+resetpaypwd); //将token转换成URLcode
String URLcode ="";
try {
URLcode = URLEncoder.encode(token,"UTF-8");
System.out.println("URLcode:"+URLcode);
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
lr.start_transaction("获取订单列表");
//获取订单列表
String queryRequest = HttpClientRequest.sendGet("http://192.168.145.130:8080/mobile/api/order/getorders?","offset=0"+"&"+"size=15"+"&"+"token="+URLcode); JSONObject queryRusult = new JSONObject(queryRequest);
int orderListCode = (int) queryRusult.get("code");
if (orderListCode == ){
lr.end_transaction("获取订单列表", lr.PASS);
}else {
lr.end_transaction("获取订单列表", lr.FAIL);
}
return ;
}//end of action public int end() throws Throwable {
return ;
}//end of end
}

过程中遇到的问题:在idea工具运行代码没有问题,在lr运行报错如下

解决如下:

原因:返回的响应编码问题

解决:在HttpClientRequest的sendGet请求中读取响应加上utf-8编码格式

loadrunner之Java Vuser协议脚本编写的更多相关文章

  1. [LoadRunner]性能测试实践_Hessian协议脚本编写

    第一步,新建LR的脚本,选择Java Vuser协议: 第二步,编写hessian测试脚本,如下: import lrapi.lr; import java.net.MalformedURLExcep ...

  2. [LoadRunner]性能测试实践_Hessian协议脚本编写2

    协议选取和运行配置请参考:http://www.cnblogs.com/whylaughing/p/5430821.html 这次直接贴代码让大家参考: import lrapi.lr; import ...

  3. LoadRunner系列之—-03 用Java Vuser协议编写接口测试脚本

    待测试接口用java语言实现,且项目中调用该接口需要用专门的jar包.这种情况可以用Java Vuser协议实现接口调用脚本,类似java代码. 代码样例如下: /* * LoadRunner Jav ...

  4. Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本

    脚本开发-利用loadrunner开发Windows Sockets协议脚本 by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 实践举例 Socket服务端简单实 ...

  5. loadrunner之WebServices协议脚本编写(三种请求模式)

    以天气预报网站为例:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 一.web_service_call模式 步骤如下 ...

  6. java+selenium自动化脚本编写

    实训项目:创盟后台管理,页面自动化脚本编写 使用工具:java+selenium 1)java+selenium环境搭建文档 2)创盟项目后台管理系统链接 java+selenium环境搭建 一.Se ...

  7. linux系统下运行java项目的脚本编写

    本文主要讲linux系统下运行jar包,至于如何打包jar包,放到linux系统下可以参考其他的博客. 在linux系统下运行jar包的命令如下: 1.java -jar xxxxx.jar  //  ...

  8. 【LoadRunner】LR编写Dubbo协议脚本

    一.Dubbo服务简介 Dubbo是一个分布式服务架构,把核心业务抽取出来作为独立的服务,使前端应用能更快速和稳定的响应. Dubbo服务工作原理:服务提供方提供接口,并提供接口的实现,提供方注册服务 ...

  9. Loadrunner 11 中的Java Vuser

    Java vuser是自定义的java虚拟用户脚本,脚本中可以使用标准的java语言. 1.安装jdk 注意,lr11最高支持jdk1.6 2.配置环境变量 3.在lr中选择java vuser协议 ...

随机推荐

  1. Android 學習之旅!(2)

    早幾天因爲學車,弄了幾天時間和精力過去,今天終於考過了(科目二,還是補考的...)嗯..不管這麼多了..今天又開始我的android 學習之旅!! 筆記: platform-tools目錄下的文件: ...

  2. Tomcat & Servlet

    javaWeb javaWeb是指使用java技术实现所有web程序的技术的总称.我们称之为javaWeb. 1.请求和响应(成对出现) 2.Web资源的分类 web资源分为两大类,分别是静态资源和动 ...

  3. Delphi/XE2 使用TIdHttp控件下载Https协议服务器文件[转]

    之前的一篇博文详细描述了使用TIdhttp控件下载http协议的文件,在我项目的使用过程中发现对于下载Https协议中的文件与Http协议的文件不同,毕竟Https在HTTP协议基础上增加了SSL协议 ...

  4. vue-devtools 的安装和使用

    vue-devtools的安装与使用 一.在github上下载压缩包,github下载地址:https://github.com/vuejs/vue-devtools 二.解压到本地的某盘 三.用你的 ...

  5. git忽略本地文件

    一.忽略文件的常用方法 1.git通常在.gitignore文件进行配置,来忽略本地文件.但是这仅对于重来没有提交过的文件有效. 2.使用git update-index --skip-worktre ...

  6. SQLSERVER安装

    sql server 2008 代理服务提供的凭据无效 sql server 2008 代理服务提供的凭据无效 在Windows Server 2008安装SQL Server 2008出现的问题: ...

  7. 洛谷 P4294 [WC2008]游览计划

    题目链接 不是很会呢,但似乎抄了题解后有点明白了 sol:状态DP显然,其实是要构建一棵最小生成树一样的东西,我自己的理解(可能不是很对哦希望多多指教)f[x][y][zt]就是到x,y这个点,状态为 ...

  8. Luogu5155 USACO18DEC Balance Beam(概率期望+凸包)

    假设已经求出了在每个点的最优期望收益,显然最优策略是仅当移动一次后的期望收益>当前点收益时移动.对于初始点,其两边各存在一个最近的不满足上述条件的位置,因此从初始点开始随机游走,直到移动到这两个 ...

  9. Uva821-Floyd

    计算所有页面的平均距离. 用floyd求距离,再求平均 #include <algorithm> #include <cstring> #include <ctype.h ...

  10. ajax 调用 java webapi 多个参数(一)

    最近开发 java webapi. 遇到一个问题,如果是多个参数(其中包含对象类型),我应该怎么传递? 一  先看解决方案: ajax <script> var data={ " ...