loadrunner用javavuser进行接口测试

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

在日常工作中会遇到被测试系统通讯都是通过加密的数据包,加密算法是公司自己开发的,并且发送的数据包还要经过系统的压缩,以保证系统的性能。利用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;
}
}


img_42a4adae4716d0e15c3eeaabfd040044.png

注:转载需注明出处及作者。

流柯      

目录
相关文章
|
XML 存储 测试技术
Loadrunner 脚本开发-soap_request函数介绍及WebService接口测试
Loadrunner 脚本开发-soap_request函数介绍及WebService接口测试
109 0
|
JSON 测试技术 数据格式
Loadrunner 脚本开发-利用web_custom_request函数进行接口测试
Loadrunner 脚本开发-利用web_custom_request函数进行接口测试
60 0
|
测试技术 API 数据格式
|
XML JSON 编解码
Loadrunner 接口测试方法
版权声明:本文为博主原创文章,未经博主允许不得转载。欢迎访问我的博客 https://blog.csdn.net/smooth00/article/details/62428286 其实无论用那种测试方法,接口测试的原理是通过测试程序模拟客户端向服务器发送请求报文,服务器接收请求报文后对相应的报文做出处理然后再把应答报文发送给客户端,客户端接收应答报文这一个过程。
1340 0
|
JSON 测试技术 数据安全/隐私保护
Loadrunner 脚本开发-利用web_submit_data函数实现POST请求
Loadrunner 脚本开发-利用web_submit_data函数实现POST请求
121 0
|
网络协议 测试技术 Windows
Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
Loadrunner 脚本开发-利用loadrunner开发Windows Sockets协议脚本
143 0
|
测试技术
Loadrunner 脚本开发-从文件读取数据并参数化
Loadrunner 脚本开发-从文件读取数据并参数化
68 0
|
Java 测试技术 Android开发
Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
Loadrunner脚本开发-基于HTTP协议的流媒体视频在线播放服务器性能测试
93 0