使用LoadRunner11做性能测试过程中遇到的部分问题

1. 录制脚本时为什么不弹出IE浏览器?

主机上安装了多个浏览器,解决方法:启动浏览器---打开internet选项对话框---切换到高级标签---去掉“启用第三方浏览器扩展(需要重新启动)”的勾选---再次运行loadrunner即可。

有时候,已经进行了上述操作,还是自动打开其他浏览器。这时需要:

将要录制的程序路径改为ie的路径,再重新启动loadrunner即可。

使用LoadRunner11做性能测试过程中遇到的部分问题_第1张图片

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。

使用LoadRunner11做性能测试过程中遇到的部分问题_第2张图片

自动设置关联:点击“显示并解析动态服务器值”,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)回到脚本编辑模式下,查看函数插入是否正确,应该在发出请求的函数之前。如:

使用LoadRunner11做性能测试过程中遇到的部分问题_第3张图片

第五步:将脚本中用到关联的数据,都用参数代替。就是上面所说的关联函数的名称,”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条相同数据

功能说明:每次都取参数文件中的第一条数据进行赋值


12.loadrunner报错日志

(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、负载等

 




 








你可能感兴趣的:(使用LoadRunner11做性能测试过程中遇到的部分问题)