1. 录制脚本时为什么不弹出IE浏览器?
主机上安装了多个浏览器,解决方法:启动浏览器---打开internet选项对话框---切换到高级标签---去掉“启用第三方浏览器扩展(需要重新启动)”的勾选---再次运行loadrunner即可。
有时候,已经进行了上述操作,还是自动打开其他浏览器。这时需要:
将要录制的程序路径改为ie的路径,再重新启动loadrunner即可。
2.生成的脚本中存在乱码?
录制脚本前打开录制选项配置对话框Record-Options---进入Advanced标签---先勾选“Support charset”----然后选中“支持UTF-8”。
3.Loadrunner不支持默认浏览器,怎么办?
IE“工具”菜单---“Internet选项”---“程序”---勾选“检查Internet Explorer是否为默认的浏览器”---重启IE.
4. 脚本中默认包含3个独立的Action,vuser_init、Action、vuser_end。
vuser_init:初始化操作。
Action:业务操作,设置迭代循环时,Action会被重复执行,vuser_init,vuser_end只会被执行一次。
vuser_end:与init对应,进行收尾操作。
5. 怎样将远程桌面的文件考到本机上?
打开“远程桌面连接”----------然后点击远程连接对话框中的 “选项”---------点击“本地资源”下面的“详细信息”----------在这里勾选上我们本地电脑上的硬盘盘符,然后点确定,之后输入远程电脑IP地址,账号与用户,连接进入远程桌面电脑。
6. 性能测试的并发用户数一般把握在多少?
并发用户数一般设置为在线用户数的5%--20%之间。
7. 思考时间一般如何设置?
首先启用思考时间,选择”使用录制思考时间的随机百分比” 。
设置最小值50%,最大值150%。
8. 有时操作录制成功,但回放失败?
许多应用程序都使用动态值,每次使用应用程序时这些值都会发生变化。例如,有些服务器会为每个新会话分配一个唯一的回话ID。回放的时候,应用程序创建新的回话ID,导致与录制时候的ID不一致。
Loadrunner通过关联解决这一问题。关联将动态值保存到参数中,运行模拟场景时,Vuser并不使用录制的值,而是使用服务器分配的新会话ID。
自动设置关联:点击“显示并解析动态服务器值”,VUGen将自动扫描,在关联结果的输出框显示需要关联的内容。进行关联即可,将在脚本里面自动插入关联语句。
9. 如何手动设置关联?
第一步:录制测试脚本,录制两遍
第二步:使用WinDiff工具找出两次脚本的不同,判断是否需要进行关联
1)找到不同的部分后,复制,然后打开Recording Log或是Generation Log,按Ctrl+F,在查找窗口中粘贴差异部分的内容,点击查找找到后,查看该部分的信息,确认是客户端的请求信息还是服务器回应的信息
2)如果出现在$$$$$$ Request Header For TransactionWith Id 3 Ended$$$$$$这个部分,那证明是客户端发出的请求,这里是不需要做关联的
3)一般做的关联都是出现在******Response Header For Transaction With Id 7 ******和******Response Body For Transaction With Id 7 ******中的部分。
4)在找到这个信息后,需要记录如下信息:
a.记录这个不同数据之前的内容和之后的内容
b.记录这个不同数据出现的位置,是Header还是Body
第三步:确认插入关联的位置
找到两次脚本不同的位置,定位产生不同点的response是由哪一个request导致的。通常把关联放在发出请求的语句之前。
第四步:插入关联函数
关联函数web_reg_save_param
1)将VUGen切换到view tree视图下;
2)在左侧列表,找到发出请求的函数,点击右键,选择”insert before”;
3)在弹出的”add step”对话框的find function中输入”web_reg_save_param”,点击ok;
4)在”parameter name”中输入关联函数的名字。假如是”sessionid”
在”left boundary”中输入,刚刚记录的不同字符串左侧的几个字符(必填),
在”right boundary”中输入,刚刚记录的不同字符串右侧的几个字符(必填)。
在”search in”中选择返回信息的查找范围,该属性可填可不填。
5)回到脚本编辑模式下,查看函数插入是否正确,应该在发出请求的函数之前。如:
第五步:将脚本中用到关联的数据,都用参数代替。就是上面所说的关联函数的名称,”sessionid”
第六步:回放脚本,验证关联的正确性。
10. Loadrunner录制脚本的时候,可能会出现如下脚本
web_custom_request("urs.asmx_22",
"URL=https://urs.microsoft.com/urs.asmx?MSURS-Client-Key=Wn%2bXCn//u2k6xBS8KUlhTQ%3d%3d&MSURS-Patented-Lock=%2bnn6OG26j18%3d",
"Method=POST",
"TargetFrame=",
"Resource=0",
"RecContentType=text/xml",
"Referer=",
"Snapshot=t116.inf",
"Mode=HTML",
"EncType=text/xml; charset=utf-8",
"Body=。。。。。。。。。。。。。。。。。。。",
LAST);
程序回放到urs.microsoft.com就会报错,停止运行,报错:无法连接到主机。
解决方法:打开IE的Internet选项-->高级,把设置下面安全中“启用SmartScreen筛选器”不选中,IE默认是选中的。然后再重新录制就好了。
11. 参数化,迭代的设置
“Select next row”和“update value on”两选项都有三种情况,如果将他们进行组合,将产生九种取值方式。
Select next row (选择下一行) |
update value on (更新时的值) |
Result (结果) |
Sequential (顺序) |
Each iteration (每次迭代) |
结果:分别将15条数据写入数据表中 功能说明:每迭代一次取一行值,从第一行开始取。当所有的值取完后,再从第一行开始取 |
Sequential (顺序) |
Each occurrence (每次出现) |
结果:分别将15条数据写入数据表中 功能说明:每迭代一次取一行值,当所有的值取完后,再从第一行开始取 如:如果参数化文件中有15条数据,而迭代设置为16此,那么执行结果中,参数化文件第一行的数据有两条 |
Sequential (顺序) |
Once (只取一次) |
结果:表中写入15条一模一样的数据。 功能说明:每次迭代都取参数化文件中第一行的数据。 |
Random (随机) |
Each iteration (每次迭代) |
结果:表中写入15条数据,但可能有重复数据出现 功能说明:每次从参数化文件中随机选择一行数据进行赋值 |
Random (随机) |
Each occurrence (每次出现) |
结果:表中写入15条数据,但可能有重复数据出现 功能说明:每次从参数化文件中随机选择一行数据进行赋值 |
Random (随机) |
Once (只取一次) |
结果:表中写入15条相同数据 功能说明:第一次迭代时随机从参数化文件中取一行数据,后面每次迭代都用第一次迭代的数据。 |
Unique (唯一) |
Each iteration (每次迭代) |
结果:分别将15条数据写入数据表中 功能说明:第一次迭代取参数化文件中的第一行数据,第二次迭代取第二行数据,以此类推 注:如果设置迭代次数为16次。结果:在执行第16次迭代时会抛异常,异常日志可以在loadrunner的回放日志(replaylog)中看到 |
Unique (唯一) |
Each occurrence (每次出现) |
结果:分别将15条数据写入数据表中 功能说明:第一次迭代取参数化文件中的第一条数据,第二次迭代取第二条数据,以此类推 注:如果设置迭代次数为16次,而参数化文件中只有15条数据,明显数据不够,此时可以设置”when out of values”属性来判断当数据不够时的处理方式。 Abort vuser:中断虚拟用户 Countinue in a cylic manage:循环取参数化文件中的值,即:当参数化文件中的值取完后又从参数化文件的第一行开始取值。 Countinue with last value:继续用最后一条数据 |
Unique (唯一) |
Once (只取一次) |
结果:表中写入15条相同数据 功能说明:每次都取参数文件中的第一条数据进行赋值 |
(1)Action.c(13):错误-27727: Step download timeout (120 seconds) has expired whendownloading resource(s). Set the "Step Timeout caused by resources is awarning" Run-Time Setting to Yes/No to have this message as awarning/error, respectively
解决方案:
修改“运行时设置-HTTP请求连接超时、HTTP请求接收超时”的值为600s或者更长时间
(2)Action.c(39):错误-27796:连接服务器“test0105.s1.diy.com:80”失败: [10061] Connection refused
有可能是服务器有太多的数据库连接,提示连接被拒绝
解决方案:
可以让开发尝试调整:
1).数据库最大连接数;
2). tomcat的最大并发数限制
(3)Action.c(9):错误-27791:服务器“test0105*.s1.diy.com”已过早关闭连接
访问时已经下载不到资源了,有可能是已经达到服务器资源的瓶颈了,可以查看服务器资源如CPU、负载等