loadrunner打开文件 12.53的树视图怎么打开?

loadrunner 12.53 使用方法
/*********************************************************************************************/loadrunner 12.53 使用方法
/*********************************************************************************************/
一 环境设置
1 软件安装在 C:\Program Files (x86)\HP\LoadRunner 目录
2 在控制面板中设置JAVA 添加 the Exception Site List
a. 打开控制面板.
b. Search for Java, and double-click Java (32-bit) or Java 64-bit. The Java Control Panel opens.
c. Click the Security tab and click Edit Site List. Click Add and enter http://127.0.0.1:9080. Click
Continue to approve the address. Approve any warnings.
d. Repeat the above step and enter http://localhost:9080.
3 关闭杀毒软件(否则 脚本中会加入和 DUBA 有关的内容)
二 相关程序
1 LoadRunner:
"C:\Program Files (x86)\HP\LoadRunner\bin\LRLauncherApp.exe"
"C:\Program Files (x86)\HP\LoadRunner\bin\VuGen.exe"
2 LoadRunner Agent Process:
"C:\Program Files (x86)\HP\LoadRunner\launch_service\bin\magentproc.exe"
3 Start Web Server:
C:\Program Files (x86)\HP\LoadRunner\WebTours\StartServer.bat"
三 启动 WEB 服务器 (端口改为了9080 C:\Program Files (x86)\HP\LoadRunner\WebTours\conf\httpd.conf)
#Listen 12.34.56.78:80
Listen 9080
1 启动 LoadRunner Agent Process
"C:\Program Files (x86)\HP\LoadRunner\launch_service\bin\magentproc.exe"
2 Start Web Server
"C:\Program Files (x86)\HP\LoadRunner\WebTours\StartServer.bat"
四 创建脚本
1 录制 record
1) Start Recording 选项
录制到操作:
要录制的程序:
Microsoft Internet Explorer(此处要选 C:\Program Files (x86)\Internet Explorer\iexplore.exe,否则会使用其他浏览器,发生错误 )
http://localhost:9080/WebTours/
工作目录:
C:\Program Files (x86)\HP\LoadRunner\Bin
2 回放 replay
1) 运行时设置 runtime settings
a: 一般设置 general
运行逻辑:重复次数 Run Logic : Number of iterations
:2次重复间的等待时间 Pacing:
Start new iteration after the previous iteration ends,with fixed delay of 5 seconds
思考时间:用户在各步骤间思考的时间
Think Time:Ignore think time
:希望在回放期间收集的信息的级别 Log: Log Options
Send messages: always
Detail Level: Standard log
b: 特殊设置
3 关联动态值 correlate the dynamic values
Design & Design Studio./Correlate.
1) 定制事务
a: 确定脚本的起点和终点:Search Flights Button,reservations.pl_2
b: 在Steps Tooolbox 中选择lr_start_transaction,lr_end_transaction,双击输入事务名称
View & Step Navigator/
Submit Form: reservations.pl step./
Right-click the Submit Form: reservations.pl step and select Show Arguments/
Change the fixed value to a varying value./
The Select or Create Parameter dialog box opens./
In the Parameter name box, type seat./
Click the Parameter icon adjacent to {seat} and select Parameter Properties/
Click Add Row. VuGen adds a row to the table./
3)内容检查
a:Text check
web_reg_find("Text=Find Flight",LAST);
web_reg_find("Text=Web Tours", LAST);
b:Image check
4) 如何生成调试信息
lr_output_message("The flight was booked");
5) 测试是否成功?
a:启用图像检查
4 设置负载
五 创建负载测试场景 Controller
六 如何生成重负载 Load Generator
Load Generator 是通过运行 Vuser 在应用程序中生成负载的计算机。可以使用多个
Load Generator,并在每个 Load Generator 上运行多个 Vuser。运行场景时,Controller
自动连接到 Load Generator。
七 运行负载测试场
1 开始场景
2 利用 Controller 的联机图监控性能。
1)“正在运行 Vuser - 整个场景”图。
2) “事务响应时间 - 整个场景”图。
3)“每秒点击次数 - 整个场景”图
4) “Windows 资源”图。
八 分析场景结果 Analysis
设置 HP Web Tours,让其出现回放错误
要演示常见的回放错误,您需要修改 HP Web Tours 应用程序中的设置。此设置
告诉 HP Web Tours Web 服务器不允许出现重复的会话 ID。
1 打开 HP Web Tours。
选择开始 & 程序 & HP LoadRunner & Samples & Web & HP Web Tours 应用
程序。浏览器将打开 HP Web Tours 的主页。
2 更改服务器选项。
a 单击 HP Web Tours 主页上的 administration (管理)链接。将打开
administration (管理)页面。
b 选择具有以下标题的复选框:Set LOGIN form's action tag to an error page.
(将 LOGIN 表单的操作标记设置为错误页面。)向下滚动到页面底部并单击
Update (更新)。
c 向下滚动到页面底部并单击 Return to the Web Tours Homepage (返回到
Web Tours 主页)链接。
此设置告诉服务器不允许出现重复的会话 ID。
3 关闭浏览器。
十 关联动态值 correlate the dynamic values
Design & Design Studio./Correlate.
十一 相关参数文件
1 城市名称
Departure City / Arrival City
Los Angeles
San Francisco
2 座位 位置
Seating Preference : Aisle / Window
3 机票类型
Type of Seat : First /Business /Coach
/****************************************************************************************************/语法
/****************************************************************************************************/
1 显示 整数型数据和字符串数据
Message Formatting
Argument Type
Printed As
decimal number
print characters until either `\0' or the number of characters given in the precision is reached
lr_output_message("min_cost %d", atoi(min_cost));
lr_output_message("min_no %s",min_no);lr_log_message("----------------------------------------------");lr_output_message("username :%s",lr_eval_string("{username}"));lr_output_message("depart
:%s",lr_eval_string("{depart}"));lr_output_message("arrive :%s",lr_eval_string("{arrive}"));lr_output_message("numPassenger :%s",lr_eval_string("{numPassenger}"));lr_output_message("seatPref :%s",lr_eval_string("{seatPref}"));lr_output_message("seattype :%s",lr_eval_string("{seattype}"));lr_output_message("outboundFlight :%s",lr_eval_string("{outboundFlight}")); lr_log_message("order flight success");lr_log_message("----------------------------------------------");
2 拼接字符串flightstring=strcat(flightstring,";");strcat(flightstring,flightfee);strcat(flightstring,";");strcat(flightstring,lr_eval_string("{departDate}"));
3 字符串转换成整数
i =atoi(lr_eval_string("{flightcost_count}"))
4 FOR 循环for(i=2;i&=atoi(lr_eval_string("{flightcost_count}"));i++){
lr_save_int( i,"no" );
lr_save_string(lr_eval_string(lr_eval_string("{flightcost_{no}}")),
"flightfee" );
lr_save_string(lr_eval_string(lr_eval_string("{flightnum_{no}}")),
"flightitem" );
temp_cost=lr_eval_string("{flightfee}");
temp_no=(lr_eval_string("{flightitem}"));
if (atoi(temp_cost)& atoi(min_cost))
min_cost=temp_
min_no=temp_
5 循环输出关联数组
1) 变量返回值个数
: 变量名_countweb_reg_save_param_ex("ParamName=flightcost","LB=\"center\"&$ ","RB=&/TD&","Ordinal=All",SEARCH_FILTERS,LAST);
web_reg_save_param_ex,将Ord参数值设定为ALL,则关联函数将自动把符合条件的关联值保存到参数数组里。
在本例中,假设关联值返回四条记录,则LR分别将值保存到flightcost_1,flightcost_2,flightcost_3,flightcost_4中
,同时,LR还将自动创建一个flightcost_count变量来保存总的记录数,在这里flightcost_count值等于4。
2)参数的左右边界:
打开 web_submit_form("reservations.pl" 步骤的 REPLAY 的http data 页 RESPOSE 查看下列代码:
要提取 航班整个信息outboundFlight 字符串 010;559;05/23/2017
左边界为 "outboundFlight" value="
右边界为 " checked="
要提取 航班号 字符串 010
左边界为 "outboundFlight" value="
右边界为 ;
要提取 航班价格 字符串 559
左边界为 "center"&$
右边界为 &/TD&
response :
&input type="radio" name="outboundFlight" value="010;559;05/23/2017" checked="checked" &Blue Sky Air 010&td align="center"&8am&td align="center"&$ 559&/TD&
2) 循环输出关联到的数组方法二testi=atoi(lr_eval_string("{flightcost_count}")); for(i=1;i&=i++){lr_save_int( testi,"itest" );contactIDLastL=lr_eval_string("{flightcost_{itest}}");//char* contactIDLastLlr_output_message("contactIDLast=%s",lr_eval_string(contactIDLastL));}
6 变量值min_no=lr_eval_string("{flightnum_1}");min_cost=lr_eval_string("{flightcost_1}");
7 将字符串赋予变量lr_save_string(lr_eval_string(lr_eval_string("{flightcost_{no}}")),
"flightfee" );lr_save_string(lr_eval_string(lr_eval_string("{flightnum_{no}}")),
"flightitem" );
8 将整数赋予变量lr_save_int( i,"no" );
9 WHILE 循环
//为了实现上面FOR循环相同效果,这里略复杂点,用到了 && 运算
while ((i &= 10) && (whileloop ==1))
lr_output_message( "WHILE FOR循环次数:%d", i);
10 DO WHILE 循环
//为了实现上面FOR循环相同效果,这里略复杂点,用到了 && 运算
lr_output_message( "DO WHILE 循环次数:%d", i);
while (i &= 10) ;
1) 判断相等if (mode==4){flightitem=lr_eval_string("{flightnum_4}");flightfee=lr_eval_string("{flightcost_4}");}
2) 判断小于
if (atoi(temp_cost)& atoi(min_cost))
min_cost=temp_
min_no=temp_
/*********************************************************************************/附 代码
/*********************************************************************************/
{char* char*char*char* min_char* temp_char* min_char* temp_
//0 min cost//1 fisrt flight//2 second flight//3 third flight//4 forth flightmode=0;/*Correlation comment - Do not change!
Original value='778858zcDAQQzptzcfDHDifpQHiHHf' Name ='userSession' Type ='ResponseBased'*/lr_start_transaction("step1_login");
web_reg_save_param_ex("ParamName=userSession","LB=name=\"userSession\" value=\"","RB=\"/&\n&table border",SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=No","RequestUrl=*/nav.pl*",LAST);web_url("WebTours", "URL=http://localhost:9080/WebTours/", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", LAST);/* Request with GET method to URL "http://bho.xl7.xunlei.com/platform/2.6.x.xxxx/config.xml" failed during recording. Server response : 404*//* Request with GET method to URL "http://localhost:9080/favicon.ico" failed during recording. Server response : 404*/lr_think_time(4);web_submit_data("login.pl","Action=http://localhost:9080/cgi-bin/login.pl","Method=POST","RecContentType=text/html","Referer=http://localhost:9080/cgi-bin/nav.pl?in=home","Snapshot=t3.inf","Mode=HTML",ITEMDATA,"Name=userSession", "Value={userSession}", ENDITEM,"Name=username", "Value={username}", ENDITEM,"Name=password", "Value={password}", ENDITEM,"Name=JSFormSubmit", "Value=on", ENDITEM,"Name=login.x", "Value=49", ENDITEM,"Name=login.y", "Value=4", ENDITEM,LAST);lr_end_transaction("step1_login", LR_AUTO);lr_start_transaction("step2_seach_flight");web_image("Search Flights Button", "Alt=Search Flights Button", "Snapshot=t4.inf", LAST);lr_think_time(11);/*Correlation comment - Do not change!
Original value='922;256;05/23/2017' Name ='outboundFlight' Type ='ResponseBased'*///flight string
web_reg_save_param_ex("ParamName=outboundFlight","LB=\"outboundFlight\" value=\"","RB= checked=\"","Ordinal=All",SEARCH_FILTERS,LAST);
//flight num web_reg_save_param_ex("ParamName=flightnum","LB=\"outboundFlight\" value=\"","RB=;","Ordinal=All",SEARCH_FILTERS,LAST);//flight costweb_reg_save_param_ex("ParamName=flightcost","LB=\"center\"&$ ","RB=&/TD&","Ordinal=All",SEARCH_FILTERS,LAST);web_submit_form("reservations.pl","Snapshot=t5.inf",ITEMDATA,"Name=depart", "Value={depart}", ENDITEM,"Name=departDate", "Value={departDate}", ENDITEM,"Name=arrive", "Value={arrive}", ENDITEM,"Name=returnDate", "Value=05/24/2017", ENDITEM,"Name=numPassengers", "Value={numPassenger}", ENDITEM,"Name=roundtrip", "Value=&OFF&", ENDITEM,"Name=seatPref", "Value={seatPref}", ENDITEM,"Name=seatType", "Value={seattype}", ENDITEM,"Name=findFlights.x", "Value=47", ENDITEM,"Name=findFlights.y", "Value=5", ENDITEM,LAST);lr_think_time(4);lr_end_transaction("step2_seach_flight", LR_AUTO);lr_start_transaction("step3_payment");/*display data*/lr_log_message("----------------------------------------------");
for(i=1;i&=atoi(lr_eval_string("{flightnum_count}"));i++){
lr_save_int( i,"no" );
lr_output_message("flightnum=%s",lr_eval_string(lr_eval_string("{flightnum_{no}}")));
lr_output_message("flightcost=%s",lr_eval_string(lr_eval_string("{flightcost_{no}}")));}lr_log_message("----------------------------------------------");/*select the nth flight*/if(mode&0 & mode&=atoi(lr_eval_string("{flightnum_count}"))){
lr_save_int( mode,"no" );
flightitem=lr_eval_string(lr_eval_string("{flightnum_{no}}"));
flightfee=lr_eval_string(lr_eval_string("{flightcost_{no}}"));} if(mode==0){/*select min flight */// init valueflightitem=lr_eval_string("{flightnum_1}");flightfee=lr_eval_string("{flightcost_1}"); min_no=lr_eval_string("{flightnum_1}");min_cost=lr_eval_string("{flightcost_1}"); // search min costfor(i=2;i&=atoi(lr_eval_string("{flightcost_count}"));i++){
lr_save_int( i,"no" );
lr_save_string(lr_eval_string(lr_eval_string("{flightcost_{no}}")),
"flightfee" );
lr_save_string(lr_eval_string(lr_eval_string("{flightnum_{no}}")),
"flightitem" );
temp_cost=lr_eval_string("{flightfee}");
temp_no=(lr_eval_string("{flightitem}"));
if (atoi(temp_cost)& atoi(min_cost))
min_cost=temp_
min_no=temp_
lr_output_message("min_no %s",min_no);lr_output_message("min_cost %s",min_cost);
flightitem=min_flightfee=min_ }/*strcat flight string*/ flightstring=strcat(flightstring,";");strcat(flightstring,flightfee);strcat(flightstring,";");strcat(flightstring,lr_eval_string("{departDate}")); lr_output_message("flightstring=%s",flightstring); lr_save_string(flightstring, "outboundFlight");web_submit_form("reservations.pl_2","Snapshot=t6.inf",ITEMDATA,"Name=outboundFlight", "Value={outboundFlight}", ENDITEM,"Name=reserveFlights.x", "Value=21", ENDITEM,"Name=reserveFlights.y", "Value=9", ENDITEM,LAST);
web_set_sockets_option("SSL_VERSION", "2&3");lr_think_time(10);lr_end_transaction("step3_payment", LR_AUTO);lr_start_transaction("step4_itinerary");web_submit_form("reservations.pl_3", "Snapshot=t7.inf", ITEMDATA, "Name=firstName", "Value=first_{username}", ENDITEM, "Name=lastName", "Value=last_{username}", ENDITEM, "Name=address1", "Value=addr1_{username}", ENDITEM, "Name=address2", "Value=addr2_{username}", ENDITEM, "Name=pass1", "Value= test", ENDITEM, "Name=creditCard", "Value=", ENDITEM, "Name=expDate", "Value=01/10", ENDITEM, "Name=saveCC", "Value=on", ENDITEM, "Name=buyFlights.x", "Value=43", ENDITEM, "Name=buyFlights.y", "Value=6", ENDITEM, LAST);web_image("Itinerary Button","Alt=Itinerary Button", "Ordinal=1", "Snapshot=t8.inf", LAST);lr_end_transaction("step4_itinerary", LR_AUTO);lr_start_transaction("step5_signoff");web_image("SignOff Button", "Alt=SignOff Button", "Ordinal=1", "Snapshot=t9.inf", LAST);lr_end_transaction("step5_signoff", LR_AUTO);lr_log_message("----------------------------------------------");lr_output_message("username :%s",lr_eval_string("{username}"));lr_output_message("depart
:%s",lr_eval_string("{depart}"));lr_output_message("arrive :%s",lr_eval_string("{arrive}"));lr_output_message("numPassenger :%s",lr_eval_string("{numPassenger}"));lr_output_message("seatPref :%s",lr_eval_string("{seatPref}"));lr_output_message("seattype :%s",lr_eval_string("{seattype}"));lr_output_message("outboundFlight :%s",lr_eval_string("{outboundFlight}")); lr_log_message("order flight success");lr_log_message("----------------------------------------------");return 0;
没有更多推荐了,查看: 1476|回复: 8
loadrunner12.53怎么破解50限制
TA的每日心情慵懒 08:39签到天数: 5 天连续签到: 1 天[LV.2]测试排长
loadrunner12.53运行场景时最多只能设置50用户
TA的每日心情擦汗 16:39签到天数: 492 天连续签到: 1 天[LV.9]测试副司令
目前貌似没有破解吧!
TA的每日心情慵懒 08:39签到天数: 5 天连续签到: 1 天[LV.2]测试排长
目前貌似没有破解吧!
好的,谢谢
该用户从未签到
同求啊,怎么破解50 users
TA的每日心情开心 09:36签到天数: 5 天连续签到: 2 天[LV.2]测试排长
目前没有破解,只有买
TA的每日心情开心 09:36签到天数: 5 天连续签到: 2 天[LV.2]测试排长
目前没有破解
该用户从未签到
买!可以去官网用信用卡,付款很方便的。
TA的每日心情无聊 18:25签到天数: 2 天连续签到: 1 天[LV.1]测试小兵
支持正版,不过太贵
站长推荐 /3
你真的了解性能测试吗?如果您想了解更多,可以找专家进行提问哦
了解自己的心里圈,学习不同的内容,让自己由内而外强大起来!
缺乏亮眼的项目经验?面试“BAT”没信心?升职加薪无望?——《大型电商项目自动化测试框架开发》直播课,手把手教你写框架开发,6.28开课!
Powered byloadrunner 12.53 使用方法
/*********************************************************************************************/loadrunner 12.53 使用方法
/*********************************************************************************************/
一 环境设置
1 软件安装在 C:\Program Files (x86)\HP\LoadRunner 目录
2 在控制面板中设置JAVA 添加 the Exception Site List
a. 打开控制面板.
b. Search for Java, and double-click Java (32-bit) or Java 64-bit. The Java Control Panel opens.
c. Click the Security tab and click Edit Site List. Click Add and enter http://127.0.0.1:9080. Click
Continue to approve the address. Approve any warnings.
d. Repeat the above step and enter http://localhost:9080.
3 关闭杀毒软件(否则 脚本中会加入和 DUBA 有关的内容)
二 相关程序
1 LoadRunner:
"C:\Program Files (x86)\HP\LoadRunner\bin\LRLauncherApp.exe"
"C:\Program Files (x86)\HP\LoadRunner\bin\VuGen.exe"
2 LoadRunner Agent Process:
"C:\Program Files (x86)\HP\LoadRunner\launch_service\bin\magentproc.exe"
3 Start Web Server:
C:\Program Files (x86)\HP\LoadRunner\WebTours\StartServer.bat"
三 启动 WEB 服务器 (端口改为了9080 C:\Program Files (x86)\HP\LoadRunner\WebTours\conf\httpd.conf)
#Listen 12.34.56.78:80
Listen 9080
1 启动 LoadRunner Agent Process
"C:\Program Files (x86)\HP\LoadRunner\launch_service\bin\magentproc.exe"
2 Start Web Server
"C:\Program Files (x86)\HP\LoadRunner\WebTours\StartServer.bat"
四 创建脚本
1 录制 record
1) Start Recording 选项
录制到操作:
要录制的程序:
Microsoft Internet Explorer(此处要选 C:\Program Files (x86)\Internet Explorer\iexplore.exe,否则会使用其他浏览器,发生错误 )
http://localhost:9080/WebTours/
工作目录:
C:\Program Files (x86)\HP\LoadRunner\Bin
2 回放 replay
1) 运行时设置 runtime settings
a: 一般设置 general
运行逻辑:重复次数 Run Logic : Number of iterations
:2次重复间的等待时间 Pacing:
Start new iteration after the previous iteration ends,with fixed delay of 5 seconds
思考时间:用户在各步骤间思考的时间
Think Time:Ignore think time
:希望在回放期间收集的信息的级别 Log: Log Options
Send messages: always
Detail Level: Standard log
b: 特殊设置
3 关联动态值 correlate the dynamic values
Design & Design Studio./Correlate.
1) 定制事务
a: 确定脚本的起点和终点:Search Flights Button,reservations.pl_2
b: 在Steps Tooolbox 中选择lr_start_transaction,lr_end_transaction,双击输入事务名称
View & Step Navigator/
Submit Form: reservations.pl step./
Right-click the Submit Form: reservations.pl step and select Show Arguments/
Change the fixed value to a varying value./
The Select or Create Parameter dialog box opens./
In the Parameter name box, type seat./
Click the Parameter icon adjacent to {seat} and select Parameter Properties/
Click Add Row. VuGen adds a row to the table./
3)内容检查
a:Text check
web_reg_find("Text=Find Flight",LAST);
web_reg_find("Text=Web Tours", LAST);
b:Image check
4) 如何生成调试信息
lr_output_message("The flight was booked");
5) 测试是否成功?
a:启用图像检查
4 设置负载
五 创建负载测试场景 Controller
六 如何生成重负载 Load Generator
Load Generator 是通过运行 Vuser 在应用程序中生成负载的计算机。可以使用多个
Load Generator,并在每个 Load Generator 上运行多个 Vuser。运行场景时,Controller
自动连接到 Load Generator。
七 运行负载测试场
1 开始场景
2 利用 Controller 的联机图监控性能。
1)“正在运行 Vuser - 整个场景”图。
2) “事务响应时间 - 整个场景”图。
3)“每秒点击次数 - 整个场景”图
4) “Windows 资源”图。
八 分析场景结果 Analysis
设置 HP Web Tours,让其出现回放错误
要演示常见的回放错误,您需要修改 HP Web Tours 应用程序中的设置。此设置
告诉 HP Web Tours Web 服务器不允许出现重复的会话 ID。
1 打开 HP Web Tours。
选择开始 & 程序 & HP LoadRunner & Samples & Web & HP Web Tours 应用
程序。浏览器将打开 HP Web Tours 的主页。
2 更改服务器选项。
a 单击 HP Web Tours 主页上的 administration (管理)链接。将打开
administration (管理)页面。
b 选择具有以下标题的复选框:Set LOGIN form's action tag to an error page.
(将 LOGIN 表单的操作标记设置为错误页面。)向下滚动到页面底部并单击
Update (更新)。
c 向下滚动到页面底部并单击 Return to the Web Tours Homepage (返回到
Web Tours 主页)链接。
此设置告诉服务器不允许出现重复的会话 ID。
3 关闭浏览器。
十 关联动态值 correlate the dynamic values
Design & Design Studio./Correlate.
十一 相关参数文件
1 城市名称
Departure City / Arrival City
Los Angeles
San Francisco
2 座位 位置
Seating Preference : Aisle / Window
3 机票类型
Type of Seat : First /Business /Coach
/****************************************************************************************************/语法
/****************************************************************************************************/
1 显示 整数型数据和字符串数据
Message Formatting
Argument Type
Printed As
decimal number
print characters until either `\0' or the number of characters given in the precision is reached
lr_output_message("min_cost %d", atoi(min_cost));
lr_output_message("min_no %s",min_no);lr_log_message("----------------------------------------------");lr_output_message("username :%s",lr_eval_string("{username}"));lr_output_message("depart
:%s",lr_eval_string("{depart}"));lr_output_message("arrive :%s",lr_eval_string("{arrive}"));lr_output_message("numPassenger :%s",lr_eval_string("{numPassenger}"));lr_output_message("seatPref :%s",lr_eval_string("{seatPref}"));lr_output_message("seattype :%s",lr_eval_string("{seattype}"));lr_output_message("outboundFlight :%s",lr_eval_string("{outboundFlight}")); lr_log_message("order flight success");lr_log_message("----------------------------------------------");
2 拼接字符串flightstring=strcat(flightstring,";");strcat(flightstring,flightfee);strcat(flightstring,";");strcat(flightstring,lr_eval_string("{departDate}"));
3 字符串转换成整数
i =atoi(lr_eval_string("{flightcost_count}"))
4 FOR 循环for(i=2;i&=atoi(lr_eval_string("{flightcost_count}"));i++){
lr_save_int( i,"no" );
lr_save_string(lr_eval_string(lr_eval_string("{flightcost_{no}}")),
"flightfee" );
lr_save_string(lr_eval_string(lr_eval_string("{flightnum_{no}}")),
"flightitem" );
temp_cost=lr_eval_string("{flightfee}");
temp_no=(lr_eval_string("{flightitem}"));
if (atoi(temp_cost)& atoi(min_cost))
min_cost=temp_
min_no=temp_
5 循环输出关联数组
1) 变量返回值个数
: 变量名_countweb_reg_save_param_ex("ParamName=flightcost","LB=\"center\"&$ ","RB=&/TD&","Ordinal=All",SEARCH_FILTERS,LAST);
web_reg_save_param_ex,将Ord参数值设定为ALL,则关联函数将自动把符合条件的关联值保存到参数数组里。
在本例中,假设关联值返回四条记录,则LR分别将值保存到flightcost_1,flightcost_2,flightcost_3,flightcost_4中
,同时,LR还将自动创建一个flightcost_count变量来保存总的记录数,在这里flightcost_count值等于4。
2)参数的左右边界:
打开 web_submit_form("reservations.pl" 步骤的 REPLAY 的http data 页 RESPOSE 查看下列代码:
要提取 航班整个信息outboundFlight 字符串 010;559;05/23/2017
左边界为 "outboundFlight" value="
右边界为 " checked="
要提取 航班号 字符串 010
左边界为 "outboundFlight" value="
右边界为 ;
要提取 航班价格 字符串 559
左边界为 "center"&$
右边界为 &/TD&
response :
&input type="radio" name="outboundFlight" value="010;559;05/23/2017" checked="checked" &Blue Sky Air 010&td align="center"&8am&td align="center"&$ 559&/TD&
2) 循环输出关联到的数组方法二testi=atoi(lr_eval_string("{flightcost_count}")); for(i=1;i&=i++){lr_save_int( testi,"itest" );contactIDLastL=lr_eval_string("{flightcost_{itest}}");//char* contactIDLastLlr_output_message("contactIDLast=%s",lr_eval_string(contactIDLastL));}
6 变量值min_no=lr_eval_string("{flightnum_1}");min_cost=lr_eval_string("{flightcost_1}");
7 将字符串赋予变量lr_save_string(lr_eval_string(lr_eval_string("{flightcost_{no}}")),
"flightfee" );lr_save_string(lr_eval_string(lr_eval_string("{flightnum_{no}}")),
"flightitem" );
8 将整数赋予变量lr_save_int( i,"no" );
9 WHILE 循环
//为了实现上面FOR循环相同效果,这里略复杂点,用到了 && 运算
while ((i &= 10) && (whileloop ==1))
lr_output_message( "WHILE FOR循环次数:%d", i);
10 DO WHILE 循环
//为了实现上面FOR循环相同效果,这里略复杂点,用到了 && 运算
lr_output_message( "DO WHILE 循环次数:%d", i);
while (i &= 10) ;
1) 判断相等if (mode==4){flightitem=lr_eval_string("{flightnum_4}");flightfee=lr_eval_string("{flightcost_4}");}
2) 判断小于
if (atoi(temp_cost)& atoi(min_cost))
min_cost=temp_
min_no=temp_
/*********************************************************************************/附 代码
/*********************************************************************************/
{char* char*char*char* min_char* temp_char* min_char* temp_
//0 min cost//1 fisrt flight//2 second flight//3 third flight//4 forth flightmode=0;/*Correlation comment - Do not change!
Original value='778858zcDAQQzptzcfDHDifpQHiHHf' Name ='userSession' Type ='ResponseBased'*/lr_start_transaction("step1_login");
web_reg_save_param_ex("ParamName=userSession","LB=name=\"userSession\" value=\"","RB=\"/&\n&table border",SEARCH_FILTERS,"Scope=Body","IgnoreRedirections=No","RequestUrl=*/nav.pl*",LAST);web_url("WebTours", "URL=http://localhost:9080/WebTours/", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTML", LAST);/* Request with GET method to URL "http://bho.xl7.xunlei.com/platform/2.6.x.xxxx/config.xml" failed during recording. Server response : 404*//* Request with GET method to URL "http://localhost:9080/favicon.ico" failed during recording. Server response : 404*/lr_think_time(4);web_submit_data("login.pl","Action=http://localhost:9080/cgi-bin/login.pl","Method=POST","RecContentType=text/html","Referer=http://localhost:9080/cgi-bin/nav.pl?in=home","Snapshot=t3.inf","Mode=HTML",ITEMDATA,"Name=userSession", "Value={userSession}", ENDITEM,"Name=username", "Value={username}", ENDITEM,"Name=password", "Value={password}", ENDITEM,"Name=JSFormSubmit", "Value=on", ENDITEM,"Name=login.x", "Value=49", ENDITEM,"Name=login.y", "Value=4", ENDITEM,LAST);lr_end_transaction("step1_login", LR_AUTO);lr_start_transaction("step2_seach_flight");web_image("Search Flights Button", "Alt=Search Flights Button", "Snapshot=t4.inf", LAST);lr_think_time(11);/*Correlation comment - Do not change!
Original value='922;256;05/23/2017' Name ='outboundFlight' Type ='ResponseBased'*///flight string
web_reg_save_param_ex("ParamName=outboundFlight","LB=\"outboundFlight\" value=\"","RB= checked=\"","Ordinal=All",SEARCH_FILTERS,LAST);
//flight num web_reg_save_param_ex("ParamName=flightnum","LB=\"outboundFlight\" value=\"","RB=;","Ordinal=All",SEARCH_FILTERS,LAST);//flight costweb_reg_save_param_ex("ParamName=flightcost","LB=\"center\"&$ ","RB=&/TD&","Ordinal=All",SEARCH_FILTERS,LAST);web_submit_form("reservations.pl","Snapshot=t5.inf",ITEMDATA,"Name=depart", "Value={depart}", ENDITEM,"Name=departDate", "Value={departDate}", ENDITEM,"Name=arrive", "Value={arrive}", ENDITEM,"Name=returnDate", "Value=05/24/2017", ENDITEM,"Name=numPassengers", "Value={numPassenger}", ENDITEM,"Name=roundtrip", "Value=&OFF&", ENDITEM,"Name=seatPref", "Value={seatPref}", ENDITEM,"Name=seatType", "Value={seattype}", ENDITEM,"Name=findFlights.x", "Value=47", ENDITEM,"Name=findFlights.y", "Value=5", ENDITEM,LAST);lr_think_time(4);lr_end_transaction("step2_seach_flight", LR_AUTO);lr_start_transaction("step3_payment");/*display data*/lr_log_message("----------------------------------------------");
for(i=1;i&=atoi(lr_eval_string("{flightnum_count}"));i++){
lr_save_int( i,"no" );
lr_output_message("flightnum=%s",lr_eval_string(lr_eval_string("{flightnum_{no}}")));
lr_output_message("flightcost=%s",lr_eval_string(lr_eval_string("{flightcost_{no}}")));}lr_log_message("----------------------------------------------");/*select the nth flight*/if(mode&0 & mode&=atoi(lr_eval_string("{flightnum_count}"))){
lr_save_int( mode,"no" );
flightitem=lr_eval_string(lr_eval_string("{flightnum_{no}}"));
flightfee=lr_eval_string(lr_eval_string("{flightcost_{no}}"));} if(mode==0){/*select min flight */// init valueflightitem=lr_eval_string("{flightnum_1}");flightfee=lr_eval_string("{flightcost_1}"); min_no=lr_eval_string("{flightnum_1}");min_cost=lr_eval_string("{flightcost_1}"); // search min costfor(i=2;i&=atoi(lr_eval_string("{flightcost_count}"));i++){
lr_save_int( i,"no" );
lr_save_string(lr_eval_string(lr_eval_string("{flightcost_{no}}")),
"flightfee" );
lr_save_string(lr_eval_string(lr_eval_string("{flightnum_{no}}")),
"flightitem" );
temp_cost=lr_eval_string("{flightfee}");
temp_no=(lr_eval_string("{flightitem}"));
if (atoi(temp_cost)& atoi(min_cost))
min_cost=temp_
min_no=temp_
lr_output_message("min_no %s",min_no);lr_output_message("min_cost %s",min_cost);
flightitem=min_flightfee=min_ }/*strcat flight string*/ flightstring=strcat(flightstring,";");strcat(flightstring,flightfee);strcat(flightstring,";");strcat(flightstring,lr_eval_string("{departDate}")); lr_output_message("flightstring=%s",flightstring); lr_save_string(flightstring, "outboundFlight");web_submit_form("reservations.pl_2","Snapshot=t6.inf",ITEMDATA,"Name=outboundFlight", "Value={outboundFlight}", ENDITEM,"Name=reserveFlights.x", "Value=21", ENDITEM,"Name=reserveFlights.y", "Value=9", ENDITEM,LAST);
web_set_sockets_option("SSL_VERSION", "2&3");lr_think_time(10);lr_end_transaction("step3_payment", LR_AUTO);lr_start_transaction("step4_itinerary");web_submit_form("reservations.pl_3", "Snapshot=t7.inf", ITEMDATA, "Name=firstName", "Value=first_{username}", ENDITEM, "Name=lastName", "Value=last_{username}", ENDITEM, "Name=address1", "Value=addr1_{username}", ENDITEM, "Name=address2", "Value=addr2_{username}", ENDITEM, "Name=pass1", "Value= test", ENDITEM, "Name=creditCard", "Value=", ENDITEM, "Name=expDate", "Value=01/10", ENDITEM, "Name=saveCC", "Value=on", ENDITEM, "Name=buyFlights.x", "Value=43", ENDITEM, "Name=buyFlights.y", "Value=6", ENDITEM, LAST);web_image("Itinerary Button","Alt=Itinerary Button", "Ordinal=1", "Snapshot=t8.inf", LAST);lr_end_transaction("step4_itinerary", LR_AUTO);lr_start_transaction("step5_signoff");web_image("SignOff Button", "Alt=SignOff Button", "Ordinal=1", "Snapshot=t9.inf", LAST);lr_end_transaction("step5_signoff", LR_AUTO);lr_log_message("----------------------------------------------");lr_output_message("username :%s",lr_eval_string("{username}"));lr_output_message("depart
:%s",lr_eval_string("{depart}"));lr_output_message("arrive :%s",lr_eval_string("{arrive}"));lr_output_message("numPassenger :%s",lr_eval_string("{numPassenger}"));lr_output_message("seatPref :%s",lr_eval_string("{seatPref}"));lr_output_message("seattype :%s",lr_eval_string("{seattype}"));lr_output_message("outboundFlight :%s",lr_eval_string("{outboundFlight}")); lr_log_message("order flight success");lr_log_message("----------------------------------------------");return 0;
没有更多推荐了,

我要回帖

更多关于 loadrunner打开文件 的文章

 

随机推荐