老李分享:loadrunner用javavuser进行接口测试

老李分享:loadrunner用javavuser进行接口测试

在这里分享一个poptest培训过程中案例,在日常工作中会遇到被测试系统通讯都是通过加密的数据包,加密算法是公司自己开发的,并且发送的数据包还要经过系统的压缩,以保证系统的性能。利用loadrunner就无法解决这里的加密的技术问题,利用javavuser会更好一些,可以利用java更强大的包来开发更加完善的脚本。

第一步:loadrunner创建java_vuser脚本 :

在建立脚本界面选择Create/Edit Script-->New Script-->选择java协议-->java_vuser 建立脚本,

第二步:配置loadrunner的环境:

在run-time-setting 设置classpath。

第三步:导入公司开发的java包:

和java配置一样, 还有要import com.lr_class.*,在脚本目录建立com文件夹,在com中在加lr_class文件夹,将用到的类文件放在其中。

第三步:开发javavuser脚本:脚本用gzip压缩和公司开发的加密算法。

备注:http协议中使 web_custom_request函数中的 BodyBinary参数发送字节流,也可以完成。

import lrapi.lr;
import com.lr_class.*;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.entity.InputStreamEntity;
import org.apache.http.impl.client.DefaultHttpClient;

public class Actions
{

public int init() throws Throwable {
   return 0;
}

public int action() throws Throwable {

String url ="http://xx.xx.xx.xx/stats/uploadData";

int code;
byte[] dataBytes= Fdata.putData("<testing>","<user>","<id>","<age>","<time>",1,1,5,1,1348042886,4,13432909036L,1234567890123455L,1,1);

System.out.println(dataBytes);
byte[] b = UnGZIP.compressToByte(dataBytes);
b = XXXXXRC4.code(b);

System.out.println(b);
lr.start_transaction("发送"); 
ByteArrayInputStream bs = null ; 
bs = new ByteArrayInputStream(b, 0, b.length);
HttpPost httpPost = new HttpPost(url);
httpPost.addHeader("Content-Type", "application/octet-stream");
HttpEntity he = new InputStreamEntity(bs, b.length);
httpPost.setEntity(he);
HttpResponse httpResponse = new  DefaultHttpClient().execute(httpPost); 
code = httpResponse.getStatusLine().getStatusCode();

if (code == 901) {
   lr.output_message("成功  code:"+code);
    lr.end_transaction("发送", lr.PASS);
}
else{
   lr.error_message("失败   code:"+code);
    lr.end_transaction("发送", lr.FAIL);
}        
return 0;
}

public int end() throws Throwable {
  return 0;
}
}

原文链接:http://www.cnblogs.com/laoli0201

时间: 2024-10-27 10:43:03

老李分享:loadrunner用javavuser进行接口测试的相关文章

loadrunner用javavuser进行接口测试

在日常工作中会遇到被测试系统通讯都是通过加密的数据包,加密算法是公司自己开发的,并且发送的数据包还要经过系统的压缩,以保证系统的性能.利用loadrunner就无法解决这里的加密的技术问题,利用javavuser会更好一些,可以利用java更强大的包来开发更加完善的脚本. 第一步:loadrunner创建java_vuser脚本 : 在建立脚本界面选择Create/Edit Script-->New Script-->选择java协议-->java_vuser 建立脚本, 第二步:配置l

老李分享:loadrunner的java user脚本开发

老李分享:loadrunner的java user脚本开发 poptest在性能测试loadrunner的课程里,以web协议为主,同时也讲解其他协议的脚本开发,对于一个性能测试工程师需要掌握一个以上的协议,在这里大家可以看看javauser的脚本开发环境如何搭建. 有对java比较熟悉的朋友,完全可以直接调用javauser来解析协议报文,处理逻辑请求. 脚本开发环境: loadrunner11.0 jdk1.6.32_x86_32 脚本开发 1.选择JavaVuser协议 2.配置java环

老李分享:loadrunner 的86401错误

老李分享:loadrunner 的86401错误 系统和软件配置: os:windows 2003loadruner版本:LoadRunner11loadrunner:协议:SMTP协议并发数:200 问题描述: 失败27个失败信息:error -86401 Failed to connceted xxx.xxx.xxx.xxx:25 分析过程:固定失败27,排除服务器错误怀疑是客户端自己的问题(虽然正常的几台负载机和有问题的负载机,硬件配置,软件版本都一样,但有问题的一直有问题,正常的一直正常

老李分享:性能调优之操作系统级别的负载分析

老李分享:性能调优之操作系统级别的负载分析 负载大致分为两类a.cpu负载b.i/o负载 如某一个应用需要执行大规模计算,虽然程序和磁盘没有数据i/o,但是完成处理也需要花费很长的时间,主要是因为该程序要依赖cpu的计算,这样就造成了cup的负载压力,这种应用系统被称为计算密集型应用 如某一个需要从磁盘上的大量数据中搜索出目标数据的程序,这种程序不依赖cpu,而是依靠磁盘的读取速度,也就是依赖输入/输出.磁盘的转速速度越快,搜索的用时越短,这种主要是依靠i/o的速度反应性能的程序,我们叫做i/o

老李分享大数据生态圈

老李分享大数据生态圈 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮.但是每个工具有自己的特性,虽然奇怪的组合也能工作,但是未必是最佳选择.         大数据,首先你要能存的下大数据. 传统的文件系统是单机的,不能横跨不同的机器.HDFS(Hadoop Distributed FileSy

老李分享:持续集成学好jenkins之内置命令

老李分享:持续集成学好jenkins之内置命令 Jenkins命令调用方式:调用Jenkins命令设置job的描述信息. $JAVA_BIN-jar "$JENKINS_CLI_JAR" -s "$JENKINS_URL"  set-build-description "${JOB_NAME}""${BUILD_NUMBER}" "$tag_name" --username "$SVN_USERN

老李分享:Web Services 特性 1

老李分享:Web Services 特性 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. web service 具备以下特殊的行为特征: 基于 XML web service 在数据表示层和数据传输层使用 XML.使用 XML 就避免了和任何网络.操作系统或者平台的绑定.基于 web service 的应用在其核心层面上是高度可互操作行

老李分享:Web Services 组件 1

老李分享:Web Services 组件 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. 在过去的几年里,三大主流技术已经成为构成当今 web service 技术的全球标准.接下来我们来讨论一下这些技术. XML-RPC XML-RPC 是在计算机之间交换信息的最简单的基于 XML 的协议. XML-RPC 是一个简单协议,它使用 XM

老李分享:Web Services 架构 1

老李分享:Web Services 架构 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. 有两种方法可以查看 web service 的架构: 第一个是去检查每个 web service 所负责的角色 第二个是检查 web service 的协议栈 web service 的角色 web service 架构中主要有三种角色: 服务提供者