页面树结构

 

 

 

 

 

 

 

 

 

 

 



说明:本文档操作过程及截图均基于 LoadRunner 9.5 版本,其他版本操作过程类似

1.         生成测试脚本

1.1.         Virtual User Generator 界面介绍

  1. 主界面

  1. 录制选项介绍

a)          菜单 Tools-Recording Options ,或 Ctrl+F7 ,进入录制设置界面

b)          在录制前,一般需要进行录制设置, Smartbi 脚本录制一般保留默认设置即可,但 Correlation 设置有助于自动生成关联规则,下面会进行说明

  1. 运行时设置介绍

a)          菜单 V u ser-RunTime Settings ,或 F4 ,进入设置界面

b)          Run Logic (运行逻辑):如迭代次数、 Action 间先后顺序、是否顺序执行或随机执行
 

c)          Pacing (步进):设置用什么方式启动新的迭代
 

d)          Log (日志):是否启用日志、以及日志的输出级别,便于调试
 

e)          Think Time (思考时间):对于脚本中 lr_think_time 语句,是否启用。在 VUGen 的调试模式通常忽略 Thinktime ,而 Controller 中则启用
 

f)           Miscellaneous (杂项):包括错误处理、多线程、自动事务度量方式
 

g)          Speed Simulation (网络速度模拟):可方便的模拟各种网络环境进行测试
 

h)          Browser Emulation (浏览器模拟):包括 IE 版本、缓存等设置
 

i)            Proxy (代理):方便进行问题诊断,如将代理设为 Charles ,则可通过 Charles 查看测试脚本发送的请求、以及服务器的响应是否正确
 

j)           Preferences
 

k)          ContentCheck (内容检查):设置内容检查规则后,可自动对每个 HTTP 返回进行监测
 

 

 

 

1.2.         录制脚本

  1. 启动脚本生成器 Virtual User Generator
    点击开始菜单 -LoadRunner-Applicationos-Virtual User Generator
  2. 新建脚本
    点击 File-New ,新建脚本,并选择 Web HTTP/HTML )协议
     
  3. 进行录制设置

a)          进入 Recording-Options -> Genenal -> Recording ,选择 HTTP/HTML levle URL-based script

b)          进入 Recording-Options -> HTTP Properties > Advanced ,在 Preferences 中勾选 support charest,utf-8 。(防止录制时出现乱码)

c)          进行应用程序类型、 URL 地址等设置,参考下图
 

注意 URL 必需 加上 参数 “debug=true”

d)          如果是首次录制,需要进行关联规则设置。请点击 Options 按钮,进行设置。其他设置项保留默认设置,在 Correlation (关联)选项,取消其它关联规则,再点击 Import 按钮,导入 Smartbi 的关联规则( BI52_CorrelationRule.cor ),最终结果如图所示
 

e)          点击确定,再次点击确定,开始录制

  1. 测试工具自动调用 IE 访问 URL 地址,同时悬浮工具栏出现悬浮工具栏
     
  2. 在登录界面,输入用户名、密码,进行登录进入主界面,这时所有脚本都录制到 vuser_init 部分
  3. 插入事务(可选)

f)           在录制过程中,若需要测量某项事务并发操作的时间,则需要插入事务。下面以打开报表为例进行说明

g)          在打开报表之前,先点击悬浮工具栏中的插入开始事务按钮

h)          填写要度量的事务名称
 

i)            双击打开报表,等报表完全打开,悬浮工具栏上事务数不再增加时,点击悬浮工具栏中的插入结束事务按钮,并选择上一步输入的事务
 

j)           在脚本生成后,可以看到脚本中相应的语句

 

  1. 在悬浮工具栏中将 Active Action vuser_init 切换到 Action ,并进行 Smartbi 业务场景操作(如打开报表、刷新数据、切换参数等),这时所有脚本都录制到 Action 部分
  2. 在悬浮工具栏中将 Active Action Action 切换到 vuser_end ,并点击注销按钮,这时所有脚本都录制到 vuser_end 部分
  3. 点击停止录制,并保存脚本

 

注意:

  1. 使用 LoadRunner 8.0 版本录制 Smartbi 时,录制过程中有时会出现 IE 无响应的情况(通常出现在登录过程)。对于这种现象,可先在 IE 的代理服务器上随便输入一个不存在的代理,然后再用 VUGen 进行录制,通常可解决此问题;或者先开 Charles ,再进行录制,效果同上。对于 LoadRunner8.1 及以上版本,无此问题。

 

 

 

1.3.         修改脚本

  1. 设置运行时设置

F4 进入运行时设置界面,在 ContentCheck 选项中,导入 BI52_ContentCheck.xml ,并点击 Set as Default ,设为默认后以后就不用进行此项设置了。此检查规则的意思是,当返回内容包含 ","stackTrace":" 这个字符串时,意味着服务器端返回异常错误,这时将测试结果设为失败
 

  1. 关联

a)          什么是关联:在 Smartbi 版本中,进行某项操作(如打开灵活分析)时,服务器会动态生成一个临时 ID ,并将这个 ID 返回给客户端,客户端进行后续操作时(如刷新报表数据、关闭报表等),都是基于这个临时 ID 来操作的,而不是原来的报表 ID ,这样,需要将这个临时 ID 放到后续操作的 HTTP 请求中发给服务器。将服务器返回的临时 ID 保存起来,并将这个临时 ID 放到在后续操作的 HTTP 请求中的这个过程,叫做关联

b)          识别录制的脚本中需要关联的内容。在 Smartbi 中,有多个操作的请求需要进行关联处理,如果脚本中包含这些操作的请求,则需要进行处理,否则会运行失败。需要关联的操作有:打开报表的 Clientid 、打开图表的 Chartid 、(仪表盘或报表中带有的)参数面板 PanelID 、(仪表盘或报表中带有的)参数 id 。如果你的录制过程包含有这些资源,则需要进行相应的关联

c)          识别关联的左右边界:在 Charles 记录操作的 HTTP 请求内容,在相关操作(如打开报表)的返回内容中查看临时 ID ,并识别如何通过左右边界获取该 ID
 

d)          以上列出的关联类型均已包含在 BI52_CorrelationRule.cor 关联规则中。如果录制之前已经启用了该关联规则,则生成的脚本已经自动关联好了

e)          对于 LoadRunner 8.1 及以上版本:如果录制前没有启用该关联规则,则可以在生成脚本之后导入并启用关联规则,同时在 Tools 菜单 -Regenerate Script 重新生成脚本, LoadRunner 会根据新的关联规则设置生成新的脚本

f)           对于 LoadRunner 8.0 版本没有上面的功能,只能进行手工关联

g)          生成的关联规则脚本如下所示:
 

h)          脚本正确性校验,参考下面说明

  1. 插入事务(可选)

a)          如果在录制过程中没有插入事务,则可以在生成脚本之后才插入事务,效果是一致的

b)          插入事务之前,需要知道事务对应有哪些请求,如登录操作,对应有哪些请求,可以通过 Charles 查看

c)          在第一个请求之前,通过工具栏的插入开始事务按钮,插入开始事务

d)          在最后一个请求之后,通过工具栏的插入结束事务按钮,插入结束事务

  1. 参数化(可选)

a)          对于脚本中的确定值,可以通过参数化的方式改为动态变化值(如参数化登录用户名)。但是, Smartbi 服务器对同一个用户的同时登录没有特别处理,因此用相同用户、不同用户登录对服务器来说是一样的,因此,参数化意义不大

b)          选中需要参数化的内容,右键 Replace with a parameter ,输入参数名称,参数类型为 File ,点击属性按钮

c)          在参数属性界面,点击 Create Table ,生成参数文件

d)          点击 Edit with Notepad ,编辑参数内容

e)          设置参数取值规则:顺序、随机、唯一

f)           设置参数值更新规则:每个场景更新、每次出现更新、一次(整个场景中只更新一次)

g)          参数属性结果最终结果如下所示
 

h)          参数化之后,原有内容自动修改为参数,如下所示
 

  1. 脚本运行与调试技巧

a)          点击 Run 按钮运行脚本,在 Replay Log 窗口中查看回放日志

b)          可以通过 F9 设置断点、 F10 单步运行方式,进行脚本调试

c)          在运行时设置中,设置日志输出级别,便于诊断问题

d)          利用代理,设置 charles 为代理并运行脚本,全面问题诊断

  1. 其它脚本问题

a)          注意打开报表后是否进行了释放。例如,对于灵活分析,在一个会话中系统会保留一个报表实例,因此当第一次打开再关闭报表时,是不会进行报表释放的( removeFromSession ),只有当打开第二张报表时,才会释放前一张报表。因此,对于录制的脚本,需要手工添加上关闭报表的操作。可以通过 Charles 协助进行。脚本示例如下:
 

  1. 脚本正确性验证

a)          通过菜单 Vuser-Complie Shift+F5 进行脚本编译,确认脚本没有语法错误

b)          在运行时设置中,设置 charles 为代理并运行脚本,在 Charles 中查看关键步骤(如刷新数据)的返回数据是否正确。如果返回数据与手工操作数据不同,或者返回内容有错,则需要进一步确认脚本是否正确

 

 

 

2.         场景设置及运行

2.1.         场景设置及运行

  1. 启动场景设置 Controller
    点击开始菜单 -LoadRunner-Applicationos-Controller
  2. 新建场景
    点击菜单 File-New ,在界面上添加要运行的脚本
     
  3. Scenario Schedule 面板中,设置场景模式( Schedule by )为 Schedule ,运行模式( Run Mode )为 Real-world schedule
     
  4. Global Schedule 面板中,设置用户运行策略

a)          双击 Start Vusers ,在 Edit Action 界面设置要加载用户数,以及加载用户的时间间隔
 

b)          双击 Duration ,设置场景的持续运行时间,可以是一次性,或持续运行一段时间
 

c)          双击 Stop Vusers ,设置用户退出模式

d)          设置完加载策略后,右方图形自动显示加载模式,最终效果示例
 

  1. Scenario Groups 面板中,设置 Run-Time Settings ,确保运行设置中的各项设置均符合测试需要。需要注意的是,这里的设置会自动继承 VUGen 中的设置,如果在 VUGen 中由于调试需要进行了临时修改,这里要修改回来,免得影响测试正确性。重要的设置如 Log Think Time Proxy 等。
  2. 设置测试结果存放路径。点击菜单 Results-Results Settings ,设置测试结果名称和存放路径
     
  3. 添加监控指标(可选)。以添加 Windows 资源监控为例进行说明,其他类型资源监控参见附录

a)          Controller 下面的两个 Tab 页中,切换到 Run 页面

b)          选中四个监控区域中的任一个,在左边可选图形树上,双击 Windows Resources ,则 Windows 资源监控自动替换原有区域的监控内容

c)          通过网上邻居方式,以管理员身份访问要监控的服务器( Windows 资源监控需要以管理员身份登录目标服务器)

d)          Windows Resourses 区域,右键菜单 Add Measurements

e)          点击 Add 按钮,添加目标服务器的 IP 地址和操作平台,确定

f)           LoadRunner 自动添加默认的监控指标,如果需要其他监控指标,点击下面的 Add 按钮添加

g)          点击确定, Windows 资源监控设置完成,在下面显示监控的指标值
 

  1. 点击 Start Scenario 进行测试,测试结果自动输出到 Results Settings 设置的目录下
  2. 测试运行完成后,可以通过菜单 Results-Analyzer Results ,直接查看当前测试结果,也可以在 Analysis 中打开查看

 

 

 

 

2.2.         错误监控

  1. 查看错误情况

a)          测试过程中可以在 Scenario Status 区域查看测试运行情况

b)          当有 Fail Error 时,可以点击 Errors 查看详细错误信息,定位是在脚本中的哪个 Action 、哪一行出现的错误
 

  1. 查看错误详细信息

a)          BI.Offcie log 日志
当出现运行错误后,通常在 Smartbi log 中都会打印详细的错误信息,可以通过该 log 定位问题

b)          LR Vuser log
点击 Vusers 按钮,选择某个错误的用户,并点击工具栏中的 show Vuser log 查看 LR 的错误信息

如果需要查看更详细的日志 可以在 Scenario Groups 面板中 点击 Run-Time Settings 设置 Log 输出级别,并重新运行测试

 

 

3.         Analysis 结果分析

  1. 启动测试结果分析工具 Analysis
    点击开始菜单 -LoadRunner-Applicationos-Analysis
  2. 点击 New ,并选择测试结果目录,确定后自动生成测试结果
  3. 测试结果中一些关键内容如下

a)          Summary Report :测试结果摘要,包括运行时间、吞吐量、点击率、事务的详细信息、 HTTP 状态

 

b)          Average Transaction Respone Time (平均时间响应时间图)、 Throughput (吞吐量图)、 Hits per Second (每秒点击率)

c)          Windows Resources
 

 

 

4.         附录

4.1.         AIX 平台资源监控

  1. root 身份 telent AIX 服务器
  2. 开启 rstatd 服务:编辑 /etc/inetd.conf 文件,删除 rstatd 前面的 # ,保存文件
  3. 重新启动服务: refresh s inetd
  4. LR Unix Resources 监控窗口,右键 Add Measurements ,添加 AIX 机器的 IP 地址