JAVA + LR实现apache流媒体的性能测试(LR部分)
作者:网络转载 发布时间:[ 2012/11/20 15:04:10 ] 推荐标签:
新建LR的JAVA Vuser脚本,这里可以直接进行JAVA编码,又可以调用LR的内部方法,如事务、思考时间、集合点等等。到了这步已经没有任何难点了,开发人员只要花1个小时了解下LR的基本使用和常用方法即可,测试人员如果不会JAVA……那还是算了吧。
Action.java内容如下:
import lrapi.lr;
import com.test.*;
import java.util.*;
import java.io.*;
public class Actions
{
public int init() throws Throwable {
return 0;
}//end of init
public int action() throws Throwable {
/*
调用者测量
*/
int downloadSize = 0;
int downloadTime = 0;
long startTime = 0;
long endTime = 0;
int speed = 0;
int vid;
vid = lr.get_vuser_id();
/*
从url文件生成arraylist
*/
String url;
ArrayList urlList = new ArrayList();
try{
BufferedReader br = new BufferedReader(new FileReader("url.txt"));
while((url = br.readLine()) != null){
urlList.add(url);
}
}catch(IOException ie){
ie.printStackTrace();
}
lr.enable_redirection(true);
lr.set_debug_message(lr.MSG_CLASS_JIT_LOG_ON_ERROR, lr.SWITCH_OFF);
System.out.println("Total URLs: " + urlList.size());
for(int i = 0; i < urlList.size(); i++){
url = (String)urlList.get(i);
System.out.println(url);
//事务名称
String trxName = "URL" + (i+1);
startTime = System.currentTimeMillis();
lr.start_transaction(trxName);
//传入url和每个调用者的标识
downloadSize = DownloadFile.getHttpFileByUrl(url, Integer.toString(vid));
lr.end_transaction(trxName, lr.AUTO);
endTime = System.currentTimeMillis();
downloadTime = (int)(endTime - startTime)/1000;
speed = downloadSize / downloadTime;
lr.output_message(trxName + ": completed");
lr.output_message("time cost: " + downloadTime + "s");
lr.output_message("average speed: " + speed + "KB/s");
lr.output_message("");
}
lr.set_debug_message(lr.MSG_CLASS_JIT_LOG_ON_ERROR, lr.SWITCH_ON);
return 0;
}//end of action
public int end() throws Throwable {
return 0;
}//end of end
}
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11