這裡蒐索程式師資訊,查找有用的技術資料
当前位置:首页 » 网页前端 » loadrunnerweb脚本
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

loadrunnerweb脚本

发布时间: 2022-11-28 08:10:01

‘壹’ 在loadrunner中,如何手动编写websockt的脚本,脚本中固定格式是什么样的,每行具体含义是什么

我是参考这里的网页链接

‘贰’ loadrunner脚本如何写

先启动StartWebserver服务,如果启动成功,桌面右下角会有一个绿色的X,然后打开浏览器访问
http://127.0.0.1:1080/WebTours/下面是我们loadrunner录制一个登录过程。
#define
COUNT
100
#define
SALARY
4000
Action()
{

int
total;

total
=
COUNT
*
SALARY;

lr_output_message("100人合计薪资支出为:%d",total);

return
0
;
}
#defineCOUNT100
#defineSALARY4000
定义一个全局常量。
lr_output_message
输出语句,这个和我们所学的C语言不一样,在C中我们会用println来输入结果。
运行结果:
..........
Starting
iteration
1.
Starting
action
Action.
Action.c(9):
100人合计薪资支出为:400000

----这里将运行结果打印输出
Ending
action
Action.
Ending
iteration
1

‘叁’ 如何使用LoadRunner进行Web性能测试

1、明确压力点,根据压力点设计多少种场景组合
2、把文档(包括多少种场景组合、场景与场景组合条件的对应表)写好
3、如果监测UNIX机器,在被监测的机器需要安装监测Unix的进程
4、让开发人员帮助我们准备测试数据或他们写相关的文档我们来准备数据
5、让开发人员做一个恢复数据的脚本,以便于我们每次测试的时候都能够有一个相同的环境
6、针对每一个模块包括四个子文件夹:如模块A下包括“脚本”“场景”“结果”“图表” 四个子文件夹,每个子文件夹储存对应的文件,如下表所示
其中:结果名“1场景”是在场景中的“Results Setting”中设置的,具体的设置见“建立场景”部分,这里也可以有另外一种方法:在打开模板设置,如下:
选中“Automatically save the session as:”并且在“%ResultDir%”后面填写你想保存的文件名,当你打开某个lrr文件时,系统自动在当前目录中生成一个文件保存分析图表,如下图所示:
生成测试脚本
1、 把登陆部分放到“vuser_init”部分,把需要测试的内容部分放到“Action”部分执行;但是如果是模拟多个用户登陆系统,则要把登陆部分放到Action部分来实现
2、 录制脚本后,想查询某个函数的原型,按“F1”键
3、 确认脚本中哪些参数是需要进行参数化的(最好能可以和开发人员一起确认)
4、 在脚本参数化时把函数web_submit_data()中的ITEMDATA后面的数据参数化,因为这些数据是传递给服务器的,当然也可以把一个函数中的所有相同变量都替换掉
5、 脚本中无用的部分用“/*”“*/”“//”注释掉,但最好不要删除
6、 调试脚本遵循以下原则:
确认在VU里SUSI(单用户单循环次数single user & single iteration)
确认在VU里SUMI(单用户多循环次数single user & multi iteration)
确认在controller中MUSI(多用户单循环次数multi user & single iteration)
确认在controller中MUMI(多用户多循环次数 multi user & multi iteration)
7、 事务的名称取的有意义便于事务之间的区分,把所有的事务名都记录在一起,便于在测试结果概要中区分它们,这要写成一个表:某次测试有哪些模块,每个模块中有哪些事务(见对应的“关系表”)
8、 在 “Parameter List”中可以选择参数类型“Random Number”,使某一个参数取设定的范围内的随机值
建立场景
1、 把场景名称编号,并制定出一份场景名称和场景条件组合的对应表。比如,场景m对应于“某一模块_xx个vu _分z台machine”(见“关系表”中的例子)
2、 根据上面的对应表把场景设置好,需要设置的要素如下:总体多少个用户、分多少个组、每个组有多少个用户、分几台机器运行、每个脚本迭代多少次、是否回放think time时间、检查Parameter List中每个参数设置是否正确、参数从表中取值间隔是否正确、是否选中“Initialize all Vusers before Run”
3、 测试结果应该保存为“m场景0,m场景1,…”
4、 把虚拟用户分散到几台机器上和在一台机器上面都要进行测试,因为有可以效果不同
5、 场景中如果有需要改动的地方,必须新建一个场景(建议使用“另存为”,然后再修改结果文件名,再选择相应的脚本),并把场景按顺序编号,先维护好场景与场景组合条件的对应表,以便以后的查找,并且在结果 “Results Setting”中设置的结果名与场景名相同。建议在“Results Setting”中选中“Automatically create a results directory for each scenario executeon”让它每次自动累加,不建议选中“Automatically overwrite existing results directory without prompting for confirmation”,因为我们不要覆盖掉以前的测试结果,把它保存下来以便有个根据。
6、 需要注意的地方:当在“Parameter List”中的“Select next row”选中“Unique”时,如果再在“Edit Schele\Schele by Scenario\Duration”中选中第二项“Run for XX after the ramp up has been completed”时系统就会报错,提示“Unique”类型不相符。
7、 在“Run-time Setting”设置中,“General”中的“Pacing”非常有用,可以设置每次迭代之间相隔多少时间,也可以是随机的取值
8、 建议:把“Parameter List”和“Run-time Setting”中的所有设置都搞熟悉,这样便于以后对脚本和场景进行设置
9、 设计“Parameter List”时的小技巧:即在“Allocate X values for each Vuser”时,尽量 把它的间隔在数据容许的范围内取大些,这样可以做从一次迭代到最大值迭代,而且对脚本没有什么影响
10、当一个脚本中有多个事务,在事务前面增加集合点时需要一点技巧。或者我们把脚本复制几个,或者我这样做:测试前面的事务的压力时,把后面的事务前的集合点设置为不激活状态;在测试后面的事务的压力时,把前面的事务的集合点设置为不激活状态,另外最好不选中Initialize all Vusers before Run,具体参见Controller中的“Scenario/Rendezvous”,及用户手册(按F1)
11、把持续时间从最后60秒改为整个场景的时间,右键单击某个图,选择“Configue”,修改Graph Time即可
12、每次从一个场景修改后保存为另一个场景时别忘记把结果保存文件名修改相对应的文件名。在设置结果保存文件名时有一个技巧:如果你打开这个窗口时,点击确定则系统会
默认以“4场景2”为基点向后加“4场景20”“4场景21”等等,但是如果你把结果文件名后面的数据去掉,改为“4场景”,点击确定后,系统会自动搜索是以“4场景”开头的文件名,并在它的后面继续增加,比如把它改为“4场景”时,下次结果保存在“4场景3”中。而且他在搜索的时候搜索以“4场景”开头的文件名,从0开始,有的话就不取代而跳过,没有的话就取代。
运行场景
1、 运行场景前需要注意的事项:每个组的虚拟用户数、迭代次数、think time、参数化时的取值间隔、执行恢复数据的脚本、确认虚拟机的LoadRunner Agent Service打开
2、 如果监测Unix,运行场景前需要启动监测Unix进程,启动的命令“rpc.rstatd”、查看这个进程是否启动的命令“rpcinfo –p”
3、 运行前使Generator机器处理Ready状态
4、 确认被监测的机器已经连接上去,并且添加自己所需要的计数器
5、 运行之前一定要确认系统中压力点的数据量是多少
6、 确认以上都正确时再运行测试场景

监视场景
打开 “Passed Transactions”或“Failed Transactions”,可以随时观察到事务的运行状态
分析测试结果
1、 打开Analysis后,把经过数据处理的结果图表保存到“图表”文件夹,并且文件名和场景名、结果名相同,这样便于以后的查阅。也可以省去每次进行数据处理的时间。
2、 可以通过点击界面上的 “View Run Time Setting”可以看到此场景运行时的一些场景设置
3、 在关联图表时可以自动调节每个元素的比例,点击右键,选择 即可
4、 每次测试结束后确认所做的操作是正确的,确认正确后再分析结果
5、 在结果文件夹中为每个场景建立一个文档,把每次运行时的情况记录下来以便于写测试报告,尤其运行错误的原因记录下来,并把开发人员所做的修改也记录下来以便知道开发人员做了些什么修改
6、 在分析运行结果时可以把几个结果合在一起进行比较,打开如下“Cross with Result…”

‘肆’ loadrunner怎么从脚本

Insert - New step -选择Custom Request - web_custom_request
填入相应参数
生成脚本,并修改如下(参数中的引号"前需要加斜杠\转译)Action(){web_custom_request("web_custom_request","URL=urlhead/CpcService.ashx?Method=checkXXXed","Method=POST","Resource=0","RecContentType=application/json","Referer=","Mode=HTTP","EncType=application/json","Body={\"user\":{\"uid\":\"C8-9C-DC-70-BD-B2\"}}",LAST);return 0;}
捕获页面返回值返回格式{"IsError":0,"ErrorMsg":"","user_tags":["0"]}将光标移动到脚本顶部,插入关联点insert-new step-service-web_reg_save_param在脚本顶部,插入并修改脚本如下web_reg_save_param("user_tags","LB=user_tags\":[\"","RB=\"]}",LAST);在脚本尾部,加入输出日志验证是否获取成功lr_message ("user_tags:%s", lr_eval_string("{user_tags}"));
对我们的接口做自动化功能测试,写验证脚本如下if (atoi(lr_eval_string("{user_tags}"))==0)lr_output_message("user_tags:%s,succeed!",(lr_eval_string("{user_tags}")));else if(atoi(lr_eval_string("{user_tags}"))==1)lr_output_message("user_tags:%s,failed!",(lr_eval_string("{user_tags}")));elselr_output_message("user_tags:%s,unknow!",(lr_eval_string("{user_tags}")));
参数化脚本,
运行脚本,重要日志输出如下:Action.c(24): [C8-9C-DC-70-BD-B2]0,succeed!Action.c(26): [C8-9C-DC-70-BD-B3]1,failed!

‘伍’ 使用LoadRunner录制web脚本之后回放报错,求解决方法!!急,在线等,有加分!!!

改一下录制模式,URL模式

‘陆’ 请教LoadRunner 11 如何录制R12 web页面的脚本

1首先,咱们打开loadrunner 10.3 的Virtual User Generator,点击新建项目
2在弹出的窗口中,选择需要测试的程序
3然后选择具体的测试程序的路径后,然后点击开始分析
4最后,运行QQ,对QQ程序进行一些操作,可以手动的点击完成录制,然后loadrunner会显示出分析出的协议,那么就可以选择正确的协议录制QQ程序了。
5常用的一些协议如下:
1.Web网站 HTTP/HTML
2. C/S (第一种)客户端以ADO,OLEDB方法连接后台数据库 MS SQL Server,Oracle,Sybase,DB2,Infrmix C/S (第二种)客户端以ODBC方法连接后台数据库 ODBC C/S (第三种)没有后台数据库 Socket

‘柒’ loadrunner怎么录制含http和websocker协议的脚本

首先,打开loadrunner的Virtual User Generator,新建脚本

在弹出框中选择Web(HTTP/HTML)协议,然后点击创建按钮

弹出start Recording窗口,选择对应的录制类型(Internet Applications),选择浏览器(这里我们选择IE),选择需要测试的web地址,选择浏览器安装地址。点击ok

自动打开IE浏览器,进入相对应地址,在页面上方显示一个录制工具条。此时我们发给服务器的所有请求都会被记录在脚本中。输入用户名和密码,在点击登录前插入事务,输入事务名称,点击ok

然后点击登录按钮,待登录成功,显示出成功页面后,点击结束事务,再点击ok。然后点击工具条上的停止按钮。结束录制,回到脚本中。

这时候需要等待会,待自动生成脚本

生成的脚本含有刚才录制的信息,点击菜单栏,回放按钮

回放如果有红色,是报错信息,没有红色,如下图,说明运行成功

还可点击“View”菜单栏的“Test Results”进行查看。显示passed即为成功。脚本便可使用。

‘捌’ loadrunner怎么编写webservice脚本

Action()
{
int status;
lr_start_transaction("send");

web_reg_find("Search=Body",//这里说明在Body的范围内查找
"SaveCount=ret_Count",//这里表示把返回值的个数放在变量ret_Count里
"Text=mobile",//这里表示查找的内容是“mobile”
LAST);

status=web_url("Bai_Search",
"TargetFrame=Main",
"Resource=0",
"RecContentType=text/html",
"Mode=http",
LAST );

lr_output_message("Request Status:%d",status);
lr_output_message("查找到的返回值个数:%d",atoi(lr_eval_string("{ret_Count}")));

if (atoi(lr_eval_string("{ret_Count}")) > 0){//这里判断检查到的个数
lr_output_message("Rec successful.");
lr_end_transaction("send", LR_PASS);
}
else{
lr_error_message("Rec failed");
lr_end_transaction("send", LR_FAIL);
}

return 0;
}

‘玖’ loadrunner 12 怎么录制https协议的web脚本

C/S架构一般是采用Win Sockets协议,这个使用于一般软件,当然也有除外的! 如果你使用loadrunner是9.5版本或者以上的版本,你可以使用协议顾问功能(Protocol Advisor),试着录制一下脚本,然后这个功能会自动帮你分析应该是用的协议,还是有一定的可信度的!

‘拾’ loadrunnerwebservice脚本转换成socket脚本

选择协议--WebService,导入服务入口,点击ManageServices->弹出窗中选择“Import”->弹出窗中选择“URL”,填写wsdl地址导入,导入后点击AddServiceCall界面,进入NewWebServiceCall界面,如果未打开该界面的话,然后选择要调用的接口方法,并进行必要的配置,点击OK,自动生成函数脚本。
loadrunnerwebservice脚本编写:新增脚本,选择协议导入wsdl路径。
选择接口,写脚本,选择接口,填写参数,保存响应结果(可不保存)生成脚本。