当前位置: 首页 > news >正文

LoadRunner 对 WebTours 实现订票的性能分析

一、WebTours的使用教程:

  1. 启动后台  https://blog.csdn.net/qq_15228737/article/details/82930603
  2. 操作教程 https://cloud.tencent.com/developer/article/1685259

二、脚本录制

  tips:

  1. 将“登录”,“退出”操作放在init,end里面
  2. 有一个session的关联函数,和flytype的关联函数,使用关联函数时用{session}这样调用
  3. 先添加集合点,再添加事务。集合点的意思是所有账户准备好后,同一个时间点调用
  4. 每一个操作设置成单独的一个事务
Action()
{int i=0;//循环订票的游标变量char temp[255];//临时存储字符串变量int count=0;//存储循环关联数组长度变量char tempfly[255];//临时存储字符串变量
web_url("WebTours", "URL=http://127.0.0.1:1080/WebTours/", "Resource=0", "RecContentType=text/html", "Referer=", "Snapshot=t1.inf", "Mode=HTTP", LAST);web_concurrent_start(NULL);web_url("header.html", "URL=http://127.0.0.1:1080/WebTours/header.html", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/", "Snapshot=t2.inf", "Mode=HTTP", LAST);web_url("welcome.pl", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/", "Snapshot=t4.inf", "Mode=HTTP", LAST);web_concurrent_end(NULL);web_concurrent_start(NULL);web_url("hp_logo.png", "URL=http://127.0.0.1:1080/WebTours/images/hp_logo.png", "Resource=1", "RecContentType=image/png", "Referer=http://127.0.0.1:1080/WebTours/header.html", "Snapshot=t3.inf", LAST);web_url("webtours.png", "URL=http://127.0.0.1:1080/WebTours/images/webtours.png", "Resource=1", "RecContentType=image/png", "Referer=http://127.0.0.1:1080/WebTours/header.html", "Snapshot=t5.inf", LAST);web_concurrent_end(NULL);web_concurrent_start(NULL);web_url("home.html", "URL=http://127.0.0.1:1080/WebTours/home.html", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", "Snapshot=t6.inf", "Mode=HTTP", LAST);web_reg_save_param("sessionuser","LB=<input type=hidden name=userSession value=","RB=>",LAST);//获取用于session值的关联函数web_url("nav.pl", "URL=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?signOff=true", "Snapshot=t7.inf", "Mode=HTTP", LAST);web_concurrent_end(NULL);web_concurrent_start(NULL);web_url("JSFormSubmit.js", "URL=http://127.0.0.1:1080/WebTours/JSFormSubmit.js", "Resource=1", "RecContentType=application/x-javascript", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t8.inf", LAST);web_url("mer_login.gif", "URL=http://127.0.0.1:1080/WebTours/images/mer_login.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t9.inf", LAST);web_concurrent_end(NULL);lr_start_transaction("login-0");lr_think_time(9);lr_error_message("sessionuser:%s",lr_eval_string("{sessionuser}"));//打印关联到的用户session值web_submit_data("login.pl", "Action=http://127.0.0.1:1080/WebTours/login.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?in=home", "Snapshot=t10.inf", "Mode=HTTP", ITEMDATA, "Name=userSession", "Value={sessionuser}", ENDITEM, "Name=username", "Value=test001", ENDITEM, "Name=password", "Value=123456", ENDITEM, "Name=JSFormSubmit", "Value=on", ENDITEM, "Name=login.x", "Value=64", ENDITEM, "Name=login.y", "Value=15", ENDITEM, LAST);web_concurrent_start(NULL);web_url("nav.pl_2", "URL=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/login.pl", "Snapshot=t11.inf", "Mode=HTTP", LAST);web_url("login.pl_2", "URL=http://127.0.0.1:1080/WebTours/login.pl?intro=true", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/login.pl", "Snapshot=t16.inf", "Mode=HTTP", LAST);web_concurrent_end(NULL);web_concurrent_start(NULL);web_url("flights.gif", "URL=http://127.0.0.1:1080/WebTours/images/flights.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t12.inf", LAST);web_url("signoff.gif", "URL=http://127.0.0.1:1080/WebTours/images/signoff.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t13.inf", LAST);web_url("itinerary.gif", "URL=http://127.0.0.1:1080/WebTours/images/itinerary.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t14.inf", LAST);web_url("in_home.gif", "URL=http://127.0.0.1:1080/WebTours/images/in_home.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t15.inf", LAST);web_concurrent_end(NULL);lr_end_transaction("login-0",LR_AUTO);lr_start_transaction("book-1");lr_think_time(11);web_url("Search Flights Button", "URL=http://127.0.0.1:1080/WebTours/welcome.pl?page=search", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=home", "Snapshot=t17.inf", "Mode=HTTP", LAST);web_concurrent_start(NULL);web_url("reservations.pl", "URL=http://127.0.0.1:1080/WebTours/reservations.pl?page=welcome", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?page=search", "Snapshot=t18.inf", "Mode=HTTP", LAST);web_url("nav.pl_3", "URL=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/welcome.pl?page=search", "Snapshot=t19.inf", "Mode=HTTP", LAST);web_concurrent_end(NULL);web_concurrent_start(NULL);web_url("home.gif", "URL=http://127.0.0.1:1080/WebTours/images/home.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights", "Snapshot=t20.inf", LAST);web_url("itinerary.gif_2", "URL=http://127.0.0.1:1080/WebTours/images/itinerary.gif", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights", "Mode=HTTP", LAST);web_url("signoff.gif_2", "URL=http://127.0.0.1:1080/WebTours/images/signoff.gif", "Resource=0", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights", "Mode=HTTP", LAST);web_url("in_flights.gif", "URL=http://127.0.0.1:1080/WebTours/images/in_flights.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/nav.pl?page=menu&in=flights", "Snapshot=t21.inf", LAST);web_concurrent_end(NULL);web_url("button_next.gif", "URL=http://127.0.0.1:1080/WebTours/images/button_next.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/reservations.pl?page=welcome", "Snapshot=t22.inf", LAST);web_reg_save_param("flytype","LB=<input type = radio name=outboundFlight value=","RB=>","ORD=ALL","Savelen=18",LAST);//关联取得出现的4张电子机票
//      web_reg_save_param("seatPref","LB=<input type=\"radio\" name=\"seatPref\" value=\"","RB=\" ","ORD=ALL","SaveLen=6",LAST);
//  web_reg_save_param("seatType","LB=<input type=\"radio\" name=\"seatType\" value=\"","RB=\" ","ORD=ALL","SaveLen=8",LAST);lr_error_message("seatPref_1:",lr_eval_string("{seatPref_1}"));lr_error_message("seatPref_2:",lr_eval_string("{seatPref_2}"));lr_error_message("seatPref_3:",lr_eval_string("{seatPref_3}"));lr_error_message("seatType_1:",lr_eval_string("{seatType_1}"));lr_error_message("seatType_2:",lr_eval_string("{seatType_2}"));lr_error_message("seatType_3:",lr_eval_string("{seatType_3}"));web_submit_data("reservations.pl_2", "Action=http://127.0.0.1:1080/WebTours/reservations.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/reservations.pl?page=welcome", "Snapshot=t23.inf", "Mode=HTTP", ITEMDATA, "Name=advanceDiscount", "Value=0", ENDITEM, "Name=depart", "Value=Denver", ENDITEM, "Name=departDate", "Value=05/29/2013", ENDITEM, "Name=arrive", "Value={endplace}", ENDITEM, "Name=returnDate", "Value=05/30/2013", ENDITEM, "Name=numPassengers", "Value=1", ENDITEM, "Name=seatPref", "Value={seatPerf}", ENDITEM, "Name=seatType", "Value={seatType}", ENDITEM, "Name=.cgifields", "Value=roundtrip", ENDITEM, "Name=.cgifields", "Value=seatType", ENDITEM, "Name=.cgifields", "Value=seatPref", ENDITEM, "Name=findFlights.x", "Value=80", ENDITEM, "Name=findFlights.y", "Value=15", ENDITEM, LAST);lr_error_message("seatPerf:%s",lr_eval_string("{seatPerf}"));lr_error_message("seatType:%s",lr_eval_string("{seatType}"));count = atoi(lr_eval_string("{flytype_count}"));lr_error_message("lenflytype:%d",count);lr_error_message("Flytype_1:%s",lr_eval_string("{flytype_1}"));lr_error_message("Flytype_2:%s",lr_eval_string("{flytype_2}"));lr_error_message("Flytype_3:%s",lr_eval_string("{flytype_3}"));lr_error_message("Flytype_4:%s",lr_eval_string("{flytype_4}"));for(i=0;i<count;i++){sprintf(temp,"{flytype_%d}",i+1);//格式化flytype数组参数格式,取数组中一个存入temp变量lr_error_message("temp:%s",temp);//打印temp变量的内容sprintf(tempfly,"%s",lr_eval_string(temp));//将temp变量通过lr_eval_string函数将temp变量存储的对应loadrunner参数的对应内容存入tempfly变量中lr_error_message("tempfly:%s",tempfly);//打印tempfly变量的内容lr_error_message("lr_eval_string(tempfly):%s",lr_eval_string(tempfly));//通过lr_eval_string函数取得tempfly变量的内容lr_save_string(tempfly,"flytypenum");//将tempfly变量内容存到flytypenum参数中,方便以后lr函数使用lr_error_message("flytypenum:%s",lr_eval_string("{flytypenum}"));//打印flytypenum内容web_submit_data("reservations.pl_3", "Action=http://127.0.0.1:1080/WebTours/reservations.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/reservations.pl", "Snapshot=t24.inf", "Mode=HTTP", ITEMDATA, "Name=outboundFlight", "Value={flytypenum}", ENDITEM, "Name=numPassengers", "Value=1", ENDITEM, "Name=advanceDiscount", "Value=0", ENDITEM, "Name=seatType", "Value=Coach", ENDITEM, "Name=seatPref", "Value=None", ENDITEM, "Name=reserveFlights.x", "Value=63", ENDITEM, "Name=reserveFlights.y", "Value=17", ENDITEM, LAST);web_submit_data("reservations.pl_4", "Action=http://127.0.0.1:1080/WebTours/reservations.pl", "Method=POST", "RecContentType=text/html", "Referer=http://127.0.0.1:1080/WebTours/reservations.pl", "Snapshot=t25.inf", "Mode=HTTP", ITEMDATA, "Name=firstName", "Value=test001", ENDITEM, "Name=lastName", "Value=test001", ENDITEM, "Name=address1", "Value=test001", ENDITEM, "Name=address2", "Value=123456", ENDITEM, "Name=pass1", "Value=test001 test001", ENDITEM, "Name=creditCard", "Value=", ENDITEM, "Name=expDate", "Value=", ENDITEM, "Name=oldCCOption", "Value=", ENDITEM, "Name=numPassengers", "Value=1", ENDITEM, "Name=seatType", "Value=Coach", ENDITEM, "Name=seatPref", "Value=None", ENDITEM, "Name=outboundFlight", "Value={flytypenum}", ENDITEM, "Name=advanceDiscount", "Value=0", ENDITEM, "Name=returnFlight", "Value=", ENDITEM, "Name=JSFormSubmit", "Value=off", ENDITEM, "Name=.cgifields", "Value=saveCC", ENDITEM, "Name=buyFlights.x", "Value=61", ENDITEM, "Name=buyFlights.y", "Value=8", ENDITEM, LAST);}web_url("bookanother.gif", "URL=http://127.0.0.1:1080/WebTours/images/bookanother.gif", "Resource=1", "RecContentType=image/gif", "Referer=http://127.0.0.1:1080/WebTours/reservations.pl", "Snapshot=t26.inf", LAST);lr_end_transaction("book-1",LR_AUTO);return 0;
}

 

http://www.wxhsa.cn/company.asp?id=32

相关文章:

  • mac一键关闭chrome自动更新
  • Python游戏开发:使用Pygame库的全面教程
  • 同城黑卡小程序系统介绍
  • 限行提醒小程序介绍
  • 365 快乐农场小程序介绍
  • AP聚类算法实现三维数据点分类
  • 政务预约系统介绍
  • 23Java基础之File
  • 猜灯谜赢大奖系统介绍
  • Linux GNU 工具集详解
  • 基于MATLAB的多输入多输出空时分组码通信系统仿真
  • 国产DevOps工具链崛起:Gitee如何重塑企业研发效能版图
  • docker部署ruoyi-cloud验证码问题记录
  • 【初赛】ip地址 - Slayer
  • 【初赛】反码 补码 原码 - Slayer
  • 本土开发者生态崛起:Gitee如何重塑中国软件研发基础设施
  • Eclipse中创建Maven多模块工程
  • .net code 连接SAP HANA 数据库
  • 面试题记录:分库分表
  • 2025年物流行业CRM解决方案全解析:数字化时代的客户关系管理新范式 - SaaS软件
  • CentOS 上独立编译 Linux 内核一般性流程
  • 西门子分布式IO从站与主站的PN连接
  • 为时序数据库 IoTDB 底层架构“保驾护航”,来听听新晋 Committer 的贡献心路!
  • VU9P板卡设计方案:565-基于VU9P的32@ SFP28+4@ QSFP28路光纤交换板卡
  • 微信小程序语音转文字(插件:微信同声传译)
  • 黑产群控日损百万?设备ID乱象要如何终结?