使用loadrunner和HttpClient进行简单性能测试实验

2019-04-14 13:05发布

1.在eclipse中使用httpclient连接www.163.com网站,如果返回结果OK则判断loadrunner事务成功否则事务失败。 我这里只是简单的demo,没有进行性能分析。 这是我写的java代码如下:   / *  LoadRunner Java script        author:luodongfu   */ import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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.impl.client.DefaultHttpClient;
public class Actions
{
 public int init() {
  return 0;
 }//end of init

 public int action() {
    HttpClient httpclient = new DefaultHttpClient();
         HttpGet httpget = new HttpGet("
http://www.163.com/");
         lr.log_message("executing request " + httpget.getURI());
                 lr.think_time(3);
                 lr.rendezvous("requestTaobao");
         lr.start_transaction("client taobao request");
 HttpResponse response=null;
  try {
    response = httpclient.execute(httpget);
      } catch (Exception e) {
       lr.output_message(e.getMessage());
             }
   
   lr.output_message("当前loadrunner请求IP:"+lr.get_host_name()+";控制器IP:"+lr.get_master_host_name());
   lr.output_message("当前虚拟用户ID:"+lr.get_vuser_id());
   lr.output_message("----------------------------------------");
   lr.output_message(response.getStatusLine().toString());
   lr.output_message("----------------------------------------");
 HttpEntity entity = response.getEntity();
         BufferedReader reader=null;
         if (entity != null) {
           lr.end_transaction("client taobao request", lr.PASS);
             try {
                reader = new BufferedReader(   new InputStreamReader(entity.getContent()));
                  String line=reader.readLine();
                while(line!=null)
                {
                 lr.output_message(reader.readLine());
                 line=reader.readLine();
                }
             } catch (Exception e) {
              lr.output_message(e.getMessage());
             }  finally {
try {
      reader.close();
     } catch (IOException e) {
     }
                
             }
         }
         else
         {
           lr.end_transaction("client taobao request", lr.FAIL);
         }   return 0;
 }//end of action
 public int end() {
  return 0;
 }//end of end
}
 

    2.使用loadrunner创建java vuser代码,将刚才在eclipse创建代码拷贝过来就可以了


  3.设置loadrunner运行参数,这里最重要的设置java虚拟机的classpath;


 4.看我们这里增加的classpath,都是httpclient的相关jar包以及jre lib库;


  5.在loadrunner中编译我们刚才拷贝的代码


 6.运行我们的jvuser代码,结果没有问题,有163返回的东东了。


 7.创建场景,将一个人的量力变成你20个人的力量,20用户去请求


 8.这里我们使用手工场景,最大用户为20


 9.设置用户增加减少步数:


 

 

 

 10.增加压力加压机


 11.增加需要监控的参数图,开始监控,呵呵:


 12.分析结果,准备分析性能了呵呵:


 

 

 



 
 


 
 

  这个是随用户增加以及事务响应时间



 
 
这是随着用户不断增加163网站事务响应时间图

 

 

 剩下的事情就是我们开始分析了