Loadrunner进行http接口压力测试 下载本文

使用Loadrunner进行http接口压力测试

业务描述:

在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回。

使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据:

一.安装Loadrunner

本次测试过程使用Loadrunner 11.0版本。

二.部署环境

1.接口服务器一台;

2.用于运行Loadrunner的压力测试机1台或N台 ,在条件允许下,尽可能提供高配置的CPU 和内存。

3.接口服务器和压力测试机建议应部署于同一个局域网内,否则测试过程和结果将受到网络带宽因素的影响无法顺利进行。

三.编写测试脚本

方法一. 通过java编写测试类,以jar包的方式引入Loadrunner进行测试。

优点:便于解析接口响应结果,同时避免由于LR脚本编写不规范或配置问题,导致测试过程引发的未知错误。

条件:运行loadrunner的机器需要安装jdk1.6的版本。

1.编写java测试类: CTLPTest.java,如下代码

1 package com; 2

3 import java.io.InputStream; 4 import java.net.HttpURLConnection; 5 import java.net.URL; 6 import java.util.Random; 7

8 public class CTLPTest 9 {

10 public static void main(String[] args) 11 {

12 CTLPTest lbs = new CTLPTest(); 13 String ltpUrl = lbs.ltpRequestUrl(); 14 System.out.println(ltpUrl);

15 System.out.println(lbs.ltpRequest(ltpUrl)); 16 } 17

18 public int ltpRequest(String ltpRequestUrl) 19 {

20 int returnCount = -1; 21 try 22 {

23 URL url = new URL(ltpRequestUrl); 24 //http连接

25 HttpURLConnection http = (HttpURLConnection)url.openConnection(); 26 http.setUseCaches(false); 27 http.connect(); 28 //获取http响应流

29 InputStream in = http.getInputStream();

30 //解析响应流

31 byte[] b = new byte[in.available()]; 32 in.read(b);

33 //将响应流转换成字符串 34 String res = new String(b);

35 //根据实际情况,判断响应结果,并设置返回值 36 int of = res.indexOf(\37 if (of < 0) { 38 returnCount = -1; 39 } else {

40 returnCount = 1; 41 }

42 } catch (Exception e) { 43 returnCount = -1; 44 }

45 return returnCount; 46 } 47

48 public String ltpRequestUrl() { 49 StringBuilder param = new

StringBuilder(\\

50 param.append(\51

param.append(\52 return param.toString(); 53 } 54 }

View Code