1、使用Loadrunner进行http接口压力测试使用Loadrunner进行http接口压力测试业务描述:在业务系统里进行查询操作,查询的结果是通过请求http接口,从系统中处理并将结果以json字符串返回。使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据:一.安装Loadrunner本次测试过程使用Loadrunner 11.0版本。安装Loadrunner过程详见.二.部署环境1.接口服务器一台;2.用于运行Loadrunner的压力测试机1台或N台 ,在条件允许下,尽可能提供高配置的CPU 和内存。3.接口服务器和压力测试机建议应部署于同一个局域网内,否则测试过程和
2、结果将受到网络带宽因素的影响无法顺利进行。三.编写测试脚本方法一. 通过java编写测试类,以jar包的方式引入Loadrunner进行测试。优点:便于解析接口响应结果,同时避免由于LR脚本编写不规范或配置问题,导致测试过程引发的未知错误。条件:运行loadrunner的机器需要安装jdk1.6的版本。1.编写java测试类: CTLPTest.java,如下代码 1 package com; 2 3 import java.io.InputStream; 4 import .HttpURLConnection; 5 import .URL; 6 import java.util.Random
3、; 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
4、 try22 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 bytein.available();32 in.read(b);33 /将响应流转换成字符串34 Str
5、ing res = new String(b);35 /根据实际情况,判断响应结果,并设置返回值36 int of = res.indexOf(sucess);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(http:/1
6、92.168.100.205:8055/CTLP/LtpRequest.json?Imsi=);50 param.append(userid-1);51 param.append(&appName=LBS&Apikey=D39hr1FgplZSjV2eNVW71wvbYbl8Mip4);52 return param.toString();53 54 View Code2.将测试类导出为jar包 : LTPRequest.jar过程略.3.Loadrunner创建java测试类图1:图2:创建java协议脚本1图3:创建java协议脚本2图4:创建java协议脚本3图5:设置环境变量图6:设置
7、安装的jdk位置目录图7:导入jar包图8:编写脚本内容 1 package com; 2 3 import java.io.InputStream; 4 import .HttpURLConnection; 5 import .URL; 6 7 public class CTLPTest 8 9 public static void main(String args)10 11 CTLPTest lbs = new CTLPTest();12 String ltpUrl = lbs.ltpRequestUrl();13 System.out.println(ltpUrl);14 System
8、.out.println(lbs.ltpRequest(ltpUrl);15 16 17 public int ltpRequest(String ltpRequestUrl)18 19 int returnCount = -1;20 try21 22 URL url = new URL(ltpRequestUrl);23 /http连接24 HttpURLConnection http = (HttpURLConnection)url.openConnection();25 http.setUseCaches(false);26 http.connect();27 /获取http响应流28
9、InputStream in = http.getInputStream();29 /解析响应流30 byte b = new bytein.available();31 in.read(b);32 /将响应流转换成字符串33 String res = new String(b);34 /根据实际情况,判断响应结果,并设置返回值35 boolean of = res.contains(state:1);36 if (of) 37 returnCount = 1;38 else 39 returnCount = 0;40 41 catch (Exception e) 42 returnCount
10、 = -1;43 44 return returnCount;45 46 47 public String ltpRequestUrl() 48 StringBuilder param = new StringBuilder(http:/192.168.100.205:8055/CTLP/LtpRequest.json?Imsi=);49 param.append(userid-1);50 param.append(&appName=LBS&Apikey=D39hr1FgplZSjV2eNVW71wvbYbl8Mip4);51 return param.toString();52 53 Vie
11、w Code图9:试运行,查看结果说明:至此,完成了java脚本的编写和基本测试,接下来我们就可以使用loadrunner的进行压力测试了。四.压力测试图1:选择压力测试图2:打开步骤三中创建的java脚本目录图3:压力测试设置界面总览图4:设置开启并发用户数及压入频率说明:单位时间内压入的并发用户数设置的用户数值越大,压力越大,根据测试实际需要调整。图5:设置压力峰值持续时间图6:设置单位时间内减少并发用户数(根据实际需要,也可以选择Simultaneously,达到时间后直接停止)图7:点击Start Scenario按钮开始运行测试图8:运行结果:图9:分析结果(可以保存各项性能指标数据到文件)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1