精华内容
下载资源
问答
  • Loadrunner接口压力测试

    2018-06-26 16:00:53
    Loadrunner接口压力测试,通过调用接口,并通过对接口返回值的简单判断,来检查接口调用是否成功。
  • 详细介绍了loadrunner接口测试的各步骤,从创建脚本到配置参数到参数化等每个步骤都有截图及说明文字,方便不太熟悉loadrunner接口测试的用户使用
  • 本文就讲述使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据: 一.安装Loadrunner 本次测试过程使用Loadrunner 11.0版本。 二.部署环境 1.接口服务器一台; 2.用于运行Loadrunner压力测试机...

    业务描述

      在业务系统里进行查询操作,查询的结果是通过请求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,如下代码

     HttpRequestor类
     CTLPTest类

     

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

     

    3.Loadrunner创建java测试类

    创建java协议脚本

    添加代码后:

    4.设置环境变量

    5.设置安装的jdk位置目录

    6.导入jar包

    7.试运行,查看结果

     

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

     

    四.设置场景、运行场景

     

    五.分析

     

    小结

      一直都只会用jmeter对http接口进行测试,今天刚好有时间,就顺便学习下用loadrunner如何进行http接口压力测试,并尝试成功,就留下笔记,以便后续工作中使用。

     

    java工程附件下载

    转载于:https://www.cnblogs.com/jiayuchn-test/p/8708060.html

    展开全文
  • 本文就讲述使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据:一.安装Loadrunner本次测试过程使用Loadrunner 11.0版本。二.部署环境1.接口服务器一台;2.用于运行Loadrunner压力测试机1台或N台 ,在...

    业务描述:

    在业务系统里进行查询操作,查询的结果是通过请求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,如下代码

    8f900a89c6347c561fdf2122f13be562.png HttpRequestor类

    8f900a89c6347c561fdf2122f13be562.png CTLPTest类

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

    5cf6e5221341c190d2f99b24f89f09e4.png

    3.Loadrunner创建java测试类

    c88bbcf849e5f53d29f28ea800fb0b79.png

    创建java协议脚本

    ca02a2c159686160ccf3b77811074e03.png

    3245e2dc598ddc1500cc6c19d40daa7b.png

    76e4f494e4638552d794d600698c70a9.png

    添加代码后:

    0abf4c44df6b0b8fec328bcd3a240dc8.png

    4.设置环境变量

    1e741e0cac38d9fdc4c19715d3a96094.png

    5.设置安装的jdk位置目录

    8c01d5ff5bade696feafbe09a3dd08ab.png

    6.导入jar包

    832ad35506b811c8dc3a600ebbc87d7f.png

    7.试运行,查看结果

    0eeb0408e34058f31a7b15b4739001b9.png

    592f5f1b8ebed83d4fe43127f2853efd.png

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

    四.设置场景、运行场景

    五.分析

    小结:

    一直都只会用jmeter对http接口进行测试,今天刚好有时间,就顺便学习下用loadrunner如何进行http接口压力测试,并尝试成功,就留下笔记,以便后续工作中使用。

    展开全文
  • 使用Loadrunner对此类接口进行压力测试并记录相关的性能指标数据:一.安装Loadrunner本次测试过程使用Loadrunner 11.0版本。安装Loadrunner过程详见......二.部署环境1.接口服务器一台;2.用于运行Loadrunner压力...

    业务描述:

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

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

    一.安装Loadrunner

    本次测试过程使用Loadrunner 11.0版本。安装Loadrunner过程详见......

    二.部署环境

    1.接口服务器一台;

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

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

    三.编写测试脚本

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

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

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

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

    1 packagecom;2

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

    8 public classCTLPTest9 {10 public static voidmain(String[] args)11 {12 CTLPTest lbs = newCTLPTest();13 String ltpUrl =lbs.ltpRequestUrl();14 System.out.println(ltpUrl);15 System.out.println(lbs.ltpRequest(ltpUrl));16 }17

    18 public intltpRequest(String ltpRequestUrl)19 {20 int returnCount = -1;21 try

    22 {23 URL url = newURL(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 = newString(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 returnreturnCount;46 }47

    48 publicString ltpRequestUrl() {49 StringBuilder param = new StringBuilder("http://192.168.100.205:8055/CTLP/LtpRequest.json?Imsi=");50 param.append("userid-1");51 param.append("&appName=LBS&Apikey=D39hr1FgplZSjV2eNVW71wvbYbl8Mip4");52 returnparam.toString();53 }54 }

    View Code

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

    过程略.

    3.Loadrunner创建java测试类

    图1:

    图2:创建java协议脚本1

    图3:创建java协议脚本2

    图4:创建java协议脚本3

    图5:设置环境变量

    图6:设置安装的jdk位置目录

    图7:导入jar包

    图8:编写脚本内容

    1 packagecom;2

    3 importjava.io.InputStream;4 importjava.net.HttpURLConnection;5 importjava.net.URL;6

    7 public classCTLPTest8 {9 public static voidmain(String[] args)10 {11 CTLPTest lbs = newCTLPTest();12 String ltpUrl =lbs.ltpRequestUrl();13 System.out.println(ltpUrl);14 System.out.println(lbs.ltpRequest(ltpUrl));15 }16

    17 public intltpRequest(String ltpRequestUrl)18 {19 int returnCount = -1;20 try

    21 {22 URL url = newURL(ltpRequestUrl);23 //http连接

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

    28 InputStream in =http.getInputStream();29 //解析响应流

    30 byte[] b = new byte[in.available()];31 in.read(b);32 //将响应流转换成字符串

    33 String res = newString(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 = -1;43 }44 returnreturnCount;45 }46

    47 publicString 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 returnparam.toString();52 }53 }

    View Code

    图9:试运行,查看结果

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

    四.压力测试

    图1:选择压力测试

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

    图3:压力测试设置界面总览

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

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

    图5:设置压力峰值持续时间

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

    图7:点击"Start Scenario"按钮开始运行测试

    图8:运行结果:

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

    展开全文
  • Loadrunner Http Json接口压力测试  前天接到了一个测试任务,要求测试一下ES(elsticsearch)在不同并发下的查询效率。如图:     业务场景是在客户端根据具体车牌查询相关车辆信息,结果返回前10条记录。从...


         Loadrunner Http Json接口压力测试

       前天接到了一个测试任务,要求测试一下ES(elsticsearch)在不同并发下的查询效率。如图:

         

     

    业务场景是在客户端根据具体车牌查询相关车辆信息,结果返回前10条记录。从图中可以看到,接口的请求参数和返回结果均是JSON字符串,请求可以用POST或者GET方法。先说GET方法:

    一、GET方法测试

     

    1.     Insert - New step -选择Custom Request - web_url

     

    2.     填入相应参数

     

    3.     生成脚本,并修改如下

    1. 

    Action()

    {

        //添加集合点

    lr_rendezvous("jihedian");

    lr_start_transaction("getTop10");

        //插入检查点,检查返回值是否包含kakoTypeName

    web_reg_find(

          "Search=Body",

          "Text=kakoTypeName",

    LAST );

       //发送get请求

    web_url("www.abc.com",    

           "URL=http://192.168.3.33:9200/_search?{%22query%22:{%22bool%22:{%22must%22:[{%22term%22:{%22plateNumNond%22:%22%E9%B2%81{NewParam}%22}}],%22must_not%22:[],%22should%22:[]}},%22from%22:0,%22size%22:10,%22sort%22:[],%22aggs%22:{}}",

           "TargetFrame=",    

           "Resource=0",    

           "RecContentType=application/json",   

           "Snapshot=t1.inf",    

           "Mode=HTML",    

    LAST );

    lr_end_transaction("getTop10", LR_AUTO);

       //打印本次取的车牌号

    lr_output_message( "the platenum is #%s", lr_eval_string("{NewParam}" ) );

    return 0;

    }

    1. 

    4.     查看返回结果

    2. 

    Virtual User Script started at : 2016-09-22 14:16:53

    Starting action vuser_init.

    Web Turbo Replay of LoadRunner 11.0.0 for Windows 7;build 8859 (Aug 18 2010 20:14:31)     [MsgId: MMSG-27143]

    Run Mode: HTML     [MsgId: MMSG-26000]

    Run-Time Settings file:"F:\PassCarSearch\ESqueryByPlateNumNond_GET\\default.cfg"      [MsgId: MMSG-27141]

    Ending action vuser_init.

    Running Vuser...

    Starting iteration 1.

    Starting action Action.

    Action.c(4): Rendezvous jihedian

    Action.c(5): Notify: Transaction "getTop10"started.

    Action.c(7): Registering web_reg_find was successful      [MsgId: MMSG-26390]

    Action.c(12): Registered web_reg_find successful for"Text=kakoTypeName" (count=10)     [MsgId: MMSG-26364]

    Action.c(12): web_url("www.abc.com") wassuccessful, 9058 body bytes, 88 header bytes      [MsgId: MMSG-26386]

    Action.c(20): Notify: Transaction "getTop10"ended with "Pass" status (Duration: 3.1371 Wasted Time: 0.4776).

    Action.c(22): the platenum is #UT5387

    Ending action Action.

    Ending iteration 1.

    说明:

     

    1.     返回结果中可以看到检查点和事务都成功了,表明我们的脚本编写无误。

     

    2.     查看服务器返回的结果需在Vuser-Runtime-settings的log选项下,勾选Enable-logging、Extended log、Data returned by server 。

    1. 

     

    二、POST方法测试

     在用POST方法创建脚本时遇到了点波折——先是使用了函数web_submit_date,执行时报错,查询资料没找到原因,不知道是不是该函数不支持JSON串,有兴趣的可以自己试下。然后尝试用web_custom_request函数,执行后返回的结果都正确,ok,就它了。

     

    1.     Insert - New step -选择Custom Request - web_custom_request

     

    2.     填入相应参数

     

    3.     生成脚本,并修改如下(参数中的引号"前需要加斜杠\转译)

    1. 

    Action()

    {

    lr_start_transaction("querybypost");

        //插入检查点,检查返回值是否包含t_query_data

    web_reg_find(

          "Text=max_score",

    LAST );

    web_custom_request("querybypost",                           //VuGen中树形视图中显示的名称

           "Url=http://192.168.3.33:9200/_search",   //请求url

           "Method=POST",

            "Resource=0",                              

           "Mode=HTTP", //请求方式

           "Referer=",       

           "EncType=application/json",                   //指定响应头的Content-Type,这里是JSON

           "RecContentType=application/json",            //指定请求头的Content-Type,这里是JSON

           "Body={\"query\":{\"bool\":{\"must\":[{\"term\":{\"plateNumNond\":\"<PlateNumNond>\"}}],\"must_not\":[],\"should\":[]}},\"from\":0,\"size\":10,\"sort\":[],\"aggs\":{}}:",    //body的内容

             LAST);

    lr_end_transaction("querybypost", LR_AUTO);

    lr_output_message( "PlateNumNond on iteration#%s", lr_eval_string( "<PlateNumNond>" ) );

    }

     

    4.     查看返回结果

    1. 

    Virtual User Script started at : 2016-09-21 16:40:04

    Starting action vuser_init.

    Web Turbo Replay of LoadRunner 11.0.0 for Windows 7;build 8859 (Aug 18 2010 20:14:31)     [MsgId: MMSG-27143]

    Run Mode: HTML     [MsgId: MMSG-26000]

    Run-Time Settings file:"F:\PassCarSearch\ESqueryByPlateNumNond_POST\\default.cfg"      [MsgId: MMSG-27141]

    Ending action vuser_init.

    Running Vuser...

    Starting iteration 1.

    Starting action Action.

    Action.c(6): Notify: Transaction "querybypost"started.

    Action.c(9): Registering web_reg_find was successful      [MsgId: MMSG-26390]

    Action.c(14): Warning: The string'"plateNumNond":"B23456"' with parameter delimiters is nota parameter.

    Action.c(14): Warning: The string '' with parameterdelimiters is not a parameter.

    Action.c(14): t=770ms: 87-byte response headers for"http://192.168.3.33:9200/_search" (RelFrameId=1, Internal ID=1)

    Action.c(14):    HTTP/1.1 200 OK\r\n

    Action.c(14):    Content-Type: application/json; charset=UTF-8\r\n

    Action.c(14):    Content-Length: 124\r\n

    Action.c(14):    \r\n

    Action.c(14): t=808ms: 124-byte response body for"http://192.168.3.33:9200/_search" (RelFrameId=1, Internal ID=1)

    Action.c(14):    {"took":9,"timed_out":false,"_shards":{"total":40,"successful":40,"failed":0},"hits":{"tot

    Action.c(14):    al":0,"max_score":null,"hits":[]}}

    Action.c(14): Error -26366: "Text=t_query_data"not found for web_reg_find      [MsgId:MERR-26366]

    Action.c(14): web_custom_request("querybypost")highest severity level was "ERROR", 124 body bytes, 87 headerbytes      [MsgId: MMSG-26388]

    Action.c(14): Notify: Transaction "querybypost"ended with "Fail" status (Duration: 0.9686 Wasted Time: 0.7094).

    Ending action Action.

    Ending iteration 1.

    Ending Vuser...

    Starting action vuser_end.

    Ending action vuser_end.

    Vuser Terminated.

    好吧,报错了。返回结果中的提示是Warning: The string'"plateNumNond":"B23456"' with parameter delimiters is nota parameter.

    本着有问题找度娘的一贯态度,将这句话复制到度娘中检索,但结果不遂人愿,没有查询到解决思路。中间不断的思考是不是自己的代码出了问题,但最终把怀疑一一排除。后来突然想到在loadrunner中,参数化的标志是{},我在body里面的{}并不是参数化,而是json的格式。。。终于找到原因了,接下来就简单了,只需在Tool - General Options - Parameterization 中将ParameterBraces 改为<>即可,如图:

        

     

     

     

    1. 

    1.     重新运行,查看结果。 看到以下结果,ok,搞定,收工!

    2. 

    Virtual User Script started at : 2016-09-21 17:49:10

    Starting action vuser_init.

    Web Turbo Replay of LoadRunner 11.0.0 for Windows 7;build 8859 (Aug 18 2010 20:14:31)     [MsgId: MMSG-27143]

    Run Mode: HTML     [MsgId: MMSG-26000]

    Run-Time Settings file:"F:\PassCarSearch\ESqueryByPlateNumNond_POST\\default.cfg"      [MsgId: MMSG-27141]

    Ending action vuser_init.

    Running Vuser...

    Starting iteration 1.

    Starting action Action.

    Action.c(3): Notify: Transaction "querybypost"started.

    Action.c(6): Registering web_reg_find was successful      [MsgId: MMSG-26390]

    Action.c(11): Notify: Parameter Substitution: parameter"PlateNumNond" =  "鲁UTR294"

    Action.c(11): t=1729ms: 87-byte response headers for"http://192.168.3.33:9200/_search" (RelFrameId=1, Internal ID=1)

    Action.c(11):    HTTP/1.1 200 OK\r\n

    Action.c(11):    Content-Type: application/json; charset=UTF-8\r\n

    Action.c(11):    Content-Length: 124\r\n

    Action.c(11):    \r\n

    Action.c(11): t=1885ms: 124-byte response body for"http://192.168.3.33:9200/_search" (RelFrameId=1, Internal ID=1)

    Action.c(11):    {"took":2,"timed_out":false,"_shards":{"total":40,"successful":40,"failed":0},"hits":{"tot

    Action.c(11):    al":0,"max_score":null,"hits":[]}}

    Action.c(11): Registered web_reg_find successful for"Text=max_score" (count=1)     [MsgId: MMSG-26364]

    Action.c(11): web_custom_request("querybypost")was successful, 124 body bytes, 87 header bytes      [MsgId: MMSG-26386]

    Action.c(22): Notify: Transaction "querybypost"ended with "Pass" status (Duration: 1.8611 Wasted Time: 0.6362).

    Action.c(24): Notify: Parameter Substitution: parameter"PlateNumNond" =  "鲁UTR294"

    Action.c(24): PlateNumNond on iteration #鲁UTR294

    Ending action Action.

    Ending iteration 1.

     

    三、web_custom_request和web_submit_data区别

    在解决问题的过程中查询了web_custom_request和web_submit_data区别,现附录如下:

    web_custom_request方法可以发送POST和GET类型的请求;

    web_submit_data只能发送POST类型的请求;

    所有web_submit_data方法发送的请求都可以使用web_custom_request来实现

    · 

    web_custom_request可以实现web_submit_data无法实现的请求,比如“查询所有邮件并删除”这个案例中,查询时我们使用关联把所有邮件对应的标识抓取成一个数组,如果使用web_submit_data来完成这个删除的请求,需要很多个web_submit_data请求才能完成,但使用web_custom_request就可以通过一个请求完成,方法是自己写代码拼一个eb_custom_request 

     

    方法POST请求的Body值。

    1.1    web_submit_data

    1. 

    请求中提交的数据格式:“Name=属性名称,”,“Value=属性值”

    例如:

    "Name=username″,"Value=12044″,

    ENDITEM,

    "Name=password″,"Value=123456″,

    ENDITEM,

    "Name=typeId″,"Value=1″,

    ENDITEM,

    如果想提交的某个属性包含包含多个值(比如说批量删除),单个web_submit_data就无法处理了,只能通过多个web_submit_data来处理。

      

    1.2.    web_custom_request

    1. 

    提交的数据(body)格式:“Body=属性名称=属性值&属性名称=属性值&……”

    下面是一个典型的web_submit_data和web_custom_request请求,可以看到web_custom_request中提交的数据(body)是以这样的方式存在的,如下:

    web_submit_data("searchRecvOrgsname",

     "Action=http://{url}/searchRecvOrgsname",

     "Method=POST",

     "TargetFrame=",

     "RecContentType=text/html",

     "Referer=http://{url}/login_wj;jsessionid={jsessionid}",

     "Snapshot=t18.inf",

     "Mode=HTML",

     ITEMDATA,

     "Name=orgsId",

    "Value={orgsId}", ENDITEM,

     "Name=code",

    "Value={order_end_station_code}", ENDITEM,

     LAST);

    web_custom_request("searchVehiclePopUp",

     "URL=http://{url}/searchVehiclePopUp",

     "Method=POST",

     "TargetFrame=",

     "Resource=0",

     "RecContentType=text/html",

     "Referer=http://{url}/login_wanjia;jsessionid={jsessionid}",

     "Snapshot=t19.inf",

     "Mode=HTML",

     "EncType=application/x-www-form-urlencoded;

    charset=UTF-8",

     "Body=&orgsId={orgsId}&order_start_station_id={order_start_station_id}&targetcode=order_truck_no&targetname=order_truck_name&targetid=order_truck_id",

     LAST);

    两种情况下的POST请求会被LoadRunner录制为web_custom_request:

    上文提到的批量提交多条同属性名称的数据的请求

    header属性x-requested-by值为XMLHttpRequest的POST请求

    这两种实现请求的方法还有一个需要注意的地方就是web_custom_request中body中的属性值如果包含一些特殊字符,必须通过URL编码,否则Web服务器会返回500错误,一个典型的例子是如果Body中包含ViewState,ViewState中常常有“=”之类的特殊字符,此时必须通过URL编码,LoadRuner中提供了一个这样的编码转换函数:

    web_convert_param(“vs1″,

    “SourceEncoding=HTML”,“TargetEncoding=URL”, LAST);

     

    1. 

    3.    web_custom_request函数详解

    2. 

    3. 

    A.语法:

    4. 

    intweb_custom_request( const char

    *RequestName, ,

    [EXTRARES, ,] LAST );

    B.返回值:返回LR_PASS(0)代表成功,LR_FAIL(1)代表失败。

    C.参数:

    (1)RequestName:步骤的名称,VuGen中树形视图中显示的名称。

    (2)List of Attribute:属性列表,支持的属性有以下几种:

    a.URL:页面地址。

    b.Method:页面的提交方式,POST或GET。

    c.EncType:编码类型。

    d.TargetFrame:当前链接或资源所在Frame的名称。

    除了Frame的名字,还可以指定下面的参数:

    _BLANK:打开一个空窗口。

    _PARENT:把最新更改过的的Frame替换为它的上级。

    _SELF:替换最新更改过的的Frame。

    _TOP:替换整个页面。

     

    展开全文
  • 脚本正文:/** LoadRunner Java script. (Build: _build_number_)** Script Description:**/import lrapi.lr;public class Actions{public int init() throws Throwable {return 0;}//end of initpublic int actio.....
  • 附件来自百度。脚本正文:/** LoadRunner Java script. (Build: _build_number_)** Script Description:* */import lrapi.lr;public class Actions{ public int init() throws Throwable ...
  • LoadRunner中一般用如下函数进行接口测试: <一>. http或soap协议下的get请求接口,样例如下: web_url("integrated_query.jsp", "URL=...
  • 主要压测的时候需要开发提供相关接口文档,或者自己录制。左侧的Name都是开发提供的接口参数名称,Value是相应的参数值。Action为开发给的测试地址。PS:注意在测试的时候设置Controller的Run time setingPacing的值...
  • 主要压测的时候需要开发提供相关接口文档,或者自己录制。左侧的Name都是开发提供的接口参数名称,Value是相应的参数值。Action为开发给的测试地址。PS:注意在测试的时候设置Controller的Run time setingPacing的值...
  • 解决方法:Contact support and request the private patch created for this problem for LoadRunner 9.5.2, For LoadRunner 11 the issue is resolved on patch 4. 下载补丁 如无解决:其它方法:在C 盘新建...
  • 开发丢过来的接口请求Demo -提取:整个项目的class文件、所用的jar包、调用程序 -导出:Runnerable JAR File LoadRunner11,JDK1.6 创建脚本1、将Demo的class文件放到LR安装目录的classes目录下 或者 将Demo...
  • 上一篇介绍了SoupUI接口测试,因为工作需要,需要在loadrunner进行websocket的压力测试,当然,SoupUI本身也是可以做性能测试的 开始就简单介绍下SoupUI怎么做性能吧 这是上次的工程,在Test Steps下面有一个Load ...
  • 实验4:对任意系统用 LoadRunner软件进行压力测试和性能测试 简单介绍: 本组采用自己开发的一个项目——图书馆座位预定系统(目前还没上线,部署在本机上)来进行测试。 所以本次实验的测试环境是本机上的针对接口...
  • 网站是网站,APP是APP但是不论是网站还是APP都是通过调用接口去展现前端东西给到用户的压力测试说白了是对服务器的压力 接口一样的话,就不需要区分PC app了接口不一样才区分 你们应该是某个字段,比如说类型去...
  • loadrunner接口压测

    2019-04-18 10:21:02
    接口服务器和压力测试机建议应部署于同一个局域网内,否则测试过程和结果将受到网络带宽因素的影响无法顺利进行。 注意在测试的时候设置Controller的Run time setingPacing的值为With a fixed delay of X seconds ...
  • LoadRunner接口工作总结

    2017-06-28 00:50:00
    因为工作中需要开发维护类似枢纽性质的平台,所以经常利用LR进行接口测试、接口自动化测试、接口压力测试。用多了LR,有点不愿意使用报文编辑器进行手工接口测试了。 接口脚本操作过程: 首先:打开LR,NEW一个...
  • 以前都是利用LoadRunner进行接口测试、自动化测试、压力测试。最近要对web系统做录制压测,因此花费了很长时间来研究这方面的工作。以下是我web端录制、压测过程的流程以及遇到的坑。 一、启动Virtual User ...
  • 使用loadrunner进行压力测试时,测试post方法,其中post方法中body中有中文,这样可能导致接口调用失败。错误日志如下: Caused by: ...
  • 接口压力测试--Jmeter

    2018-09-05 09:16:00
    1.Jmeter简介 JMeter就是一个测试工具,相比于LoadRunner等测试... (1)压力测试及性能测试;  (2)数据库测试;  (3)Java程序的测试;  (4)HTTP及FTP测试;  (5)Web Service测试;  ....... 2.Jmeter安...
  • Python-Locust接口压力测试

    千次阅读 2019-11-06 18:05:37
    Jmeter同样是非常有名的开源性能测试工具,功能也很完善,在本书中介绍了它作为接口测试工具的使用。但实际上,它是一个标准的性能测试工具。关于Jmeter相关的资料也非常丰富,它的官方文档也很完...

空空如也

空空如也

1 2 3 4 5 ... 9
收藏数 170
精华内容 68
关键字:

loadrunner接口压力测试