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

上传人:b****5 文档编号:2796806 上传时间:2022-11-15 格式:DOCX 页数:15 大小:738.16KB
下载 相关 举报
使用Loadrunner进行http接口压力测试.docx_第1页
第1页 / 共15页
使用Loadrunner进行http接口压力测试.docx_第2页
第2页 / 共15页
使用Loadrunner进行http接口压力测试.docx_第3页
第3页 / 共15页
使用Loadrunner进行http接口压力测试.docx_第4页
第4页 / 共15页
使用Loadrunner进行http接口压力测试.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

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

《使用Loadrunner进行http接口压力测试.docx》由会员分享,可在线阅读,更多相关《使用Loadrunner进行http接口压力测试.docx(15页珍藏版)》请在冰豆网上搜索。

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

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

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

业务描述:

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

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

一.安装Loadrunner

本次测试过程使用Loadrunner11.0版本。

安装Loadrunner过程详见......

二.部署环境

1.接口服务器一台;

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

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

三.编写测试脚本

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

优点:

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

条件:

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

1.编写java测试类:

CTLPTest.java,如下代码

1packagecom;

2

3importjava.io.InputStream;

4import.HttpURLConnection;

5import.URL;

6importjava.util.Random;

7

8publicclassCTLPTest

9{

10publicstaticvoidmain(String[]args)

11{

12CTLPTestlbs=newCTLPTest();

13StringltpUrl=lbs.ltpRequestUrl();

14System.out.println(ltpUrl);

15System.out.println(lbs.ltpRequest(ltpUrl));

16}

17

18publicintltpRequest(StringltpRequestUrl)

19{

20intreturnCount=-1;

21try

22{

23URLurl=newURL(ltpRequestUrl);

24//http连接

25HttpURLConnectionhttp=(HttpURLConnection)url.openConnection();

26http.setUseCaches(false);

27http.connect();

28//获取http响应流

29InputStreamin=http.getInputStream();

30//解析响应流

31byte[]b=newbyte[in.available()];

32in.read(b);

33//将响应流转换成字符串

34Stringres=newString(b);

35//根据实际情况,判断响应结果,并设置返回值

36intof=res.indexOf("sucess");

37if(of<0){

38returnCount=-1;

39}else{

40returnCount=1;

41}

42}catch(Exceptione){

43returnCount=-1;

44}

45returnreturnCount;

46}

47

48publicStringltpRequestUrl(){

49StringBuilderparam=newStringBuilder("http:

//192.168.100.205:

8055/CTLP/LtpRequest.json?

Imsi=");

50param.append("userid-1");

51param.append("&appName=LBS&Apikey=D39hr1FgplZSjV2eNVW71wvbYbl8Mip4");

52returnparam.toString();

53}

54}

ViewCode

2.将测试类导出为jar包:

LTPRequest.jar

过程略.

3.Loadrunner创建java测试类

图1:

图2:

创建java协议脚本1

图3:

创建java协议脚本2

图4:

创建java协议脚本3

图5:

设置环境变量

图6:

设置安装的jdk位置目录

图7:

导入jar包

图8:

编写脚本内容

1packagecom;

2

3importjava.io.InputStream;

4import.HttpURLConnection;

5import.URL;

6

7publicclassCTLPTest

8{

9publicstaticvoidmain(String[]args)

10{

11CTLPTestlbs=newCTLPTest();

12StringltpUrl=lbs.ltpRequestUrl();

13System.out.println(ltpUrl);

14System.out.println(lbs.ltpRequest(ltpUrl));

15}

16

17publicintltpRequest(StringltpRequestUrl)

18{

19intreturnCount=-1;

20try

21{

22URLurl=newURL(ltpRequestUrl);

23//http连接

24HttpURLConnectionhttp=(HttpURLConnection)url.openConnection();

25http.setUseCaches(false);

26http.connect();

27//获取http响应流

28InputStreamin=http.getInputStream();

29//解析响应流

30byte[]b=newbyte[in.available()];

31in.read(b);

32//将响应流转换成字符串

33Stringres=newString(b);

34//根据实际情况,判断响应结果,并设置返回值

35booleanof=res.contains("\"state\":

1");

36if(of){

37returnCount=1;

38}else{

39returnCount=0;

40}

41}catch(Exceptione){

42returnCount=-1;

43}

44returnreturnCount;

45}

46

47publicStringltpRequestUrl(){

48StringBuilderparam=newStringBuilder("http:

//192.168.100.205:

8055/CTLP/LtpRequest.json?

Imsi=");

49param.append("userid-1");

50param.append("&appName=LBS&Apikey=D39hr1FgplZSjV2eNVW71wvbYbl8Mip4");

51returnparam.toString();

52}

53}

ViewCode

图9:

试运行,查看结果

说明:

至此,完成了java脚本的编写和基本测试,接下来我们就可以使用loadrunner的进行压力测试了。

四.压力测试

图1:

选择压力测试

图2:

打开步骤三中创建的java脚本目录

图3:

压力测试设置界面总览

图4:

设置开启并发用户数及压入频率

说明:

单位时间内压入的并发用户数设置的用户数值越大,压力越大,根据测试实际需要调整。

图5:

设置压力峰值持续时间

图6:

设置单位时间内减少并发用户数(根据实际需要,也可以选择Simultaneously,达到时间后直接停止)

图7:

点击"StartScenario"按钮开始运行测试

图8:

运行结果:

图9:

分析结果(可以保存各项性能指标数据到文件)

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 工程科技 > 能源化工

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1