loadrunner之Java Vuser协议脚本编写
步骤:
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协议脚本编写的更多相关文章
- [LoadRunner]性能测试实践_Hessian协议脚本编写
第一步,新建LR的脚本,选择Java Vuser协议: 第二步,编写hessian测试脚本,如下: import lrapi.lr; import java.net.MalformedURLExcep ...
- [LoadRunner]性能测试实践_Hessian协议脚本编写2
协议选取和运行配置请参考:http://www.cnblogs.com/whylaughing/p/5430821.html 这次直接贴代码让大家参考: import lrapi.lr; import ...
- LoadRunner系列之—-03 用Java Vuser协议编写接口测试脚本
待测试接口用java语言实现,且项目中调用该接口需要用专门的jar包.这种情况可以用Java Vuser协议实现接口调用脚本,类似java代码. 代码样例如下: /* * LoadRunner Jav ...
- Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
脚本开发-利用loadrunner开发Windows Sockets协议脚本 by:授客 QQ:1033553122 欢迎加入软件性能测试交流QQ群:7156436 实践举例 Socket服务端简单实 ...
- loadrunner之WebServices协议脚本编写(三种请求模式)
以天气预报网站为例:http://www.webxml.com.cn/WebServices/WeatherWebService.asmx?wsdl 一.web_service_call模式 步骤如下 ...
- java+selenium自动化脚本编写
实训项目:创盟后台管理,页面自动化脚本编写 使用工具:java+selenium 1)java+selenium环境搭建文档 2)创盟项目后台管理系统链接 java+selenium环境搭建 一.Se ...
- linux系统下运行java项目的脚本编写
本文主要讲linux系统下运行jar包,至于如何打包jar包,放到linux系统下可以参考其他的博客. 在linux系统下运行jar包的命令如下: 1.java -jar xxxxx.jar // ...
- 【LoadRunner】LR编写Dubbo协议脚本
一.Dubbo服务简介 Dubbo是一个分布式服务架构,把核心业务抽取出来作为独立的服务,使前端应用能更快速和稳定的响应. Dubbo服务工作原理:服务提供方提供接口,并提供接口的实现,提供方注册服务 ...
- Loadrunner 11 中的Java Vuser
Java vuser是自定义的java虚拟用户脚本,脚本中可以使用标准的java语言. 1.安装jdk 注意,lr11最高支持jdk1.6 2.配置环境变量 3.在lr中选择java vuser协议 ...
随机推荐
- linux内核分析第七次实验
实验: rm menu -rf git clone https://github.com/megnning/menu.git cd menu ls mv test_exec.c test.c vi t ...
- 《Linux内核设计与实现》第三章读书笔记
一.进程(任务)描述 1.进程是处于执行期的程序:除了可执行程序代码,还包括打开的文件.挂起的信号.内核内部数据.一个或者多个执行线程等多种资源 线程是在进程活动中的对象:内核调度的对象是线程而不是进 ...
- What’s for Beta
经过和Travis与Zhongqiu讨论,我们希望我们发布的Beta版本会支持如下内容: Naïve long-term plan UI (Useable) Naïve long-term plan ...
- Find Amir CodeForces - 805C (贪心+思维)
A few years ago Sajjad left his school and register to another one due to security reasons. Now he w ...
- [转]Spring通过@Value注解注入属性的几种方式
原文地址:https://blog.csdn.net/csujiangyu/article/details/50945486 ------------------------------------- ...
- Weblogic 9.2和10.3 改密码 一站完成
Weblogic 9.2和10.3可通用,只需修改参照如下配置即可: SET BEA_HOME=F:\beaSET JRE_HOME=%BEA_HOME%\jdk150_04\binSET LIB_H ...
- Linux 下如何知道是否有人在使坏?
在 Linux 下查看用户的行为,不仅仅是网管要做的事,也是开发人员所应该具备的基本技能之一.为什么呢?因为有时其他同事在做一些很消耗资源的事情,比如在编译大型程序,可能会导致服务器变得很慢,从而影响 ...
- Ubuntu16.04.3安装以及简单配置使用
1. 官网下载ubuntu16.04.3的iso 2.上传至esxi 3. 中文安装界面有问题,使用english进行安装. 4. server版本的应该不带gui的界面进行安装... 5.使用非ro ...
- scipy积分 integral
#!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2018/5/24 15:03 # @Author : zhang chao # @Fi ...
- idea for mac 最全快捷键整理
一.Mac键盘符号和修饰键说明 ⌘ Command ⇧Shift ⌥ Option ⌃ Control ↩︎ Return/Enter ⌫ Delete ⌦ 向前删除键(Fn+Delete) ↑ 上箭 ...