性能测试工具 通过命令行进行 LoadRunner 测试和结果分析

雨夜狂奔 · 2018年01月30日 · 最后由 lovingyu 回复于 2019年07月02日 · 3923 次阅读

前言

之前介绍了如何使用 Python 用管理员身份执行 windows 命令

这里介绍一下如何通过命令行来执行 LoadRunner 的执行和结果分析。

通过这两个的介绍就可以使用 Python 来进行简单的 LoadRunner 的自动化执行和分析。

下一步会介绍怎么通过 IIS 和 Flask 部署脚本,然后通过接口来启动 LoadRunner 的执行

1. 如何自动运行场景

1. 一个简单的例子

LoadRunner\bin\Wlrun.exe -Run -TestPath scenario.lrs -ResultName res_folder

上面的例子会:

  1. 启动并执行场景
  2. 保存结果到指定的目录

2. 参数说明

从命令行执行主要包含几个参数

参数 说明
TestPath 场景文件的路径,如果包含空格,需要用引号括起来
Run 执行场景,完成之后关闭 controller
InvokeAnalysis 在场景结束是否开始分析,如果没有指定使用场景默认设置
ResultName 执行结果完整路径
ResultCleanName 结果名字
ResultLocation 结果文件夹

注意上面的关系,结果的完整路径ResultName (full path) = ResultLocation (directory) + ResultCleanName (name)

下面通过例子来说明:

Wlrun.exe
# 仅仅打开loadrunner controller

Wlrun.exe -TestPath scenario.lrs
# 打开指定的场景,但是不执行

Wlrun.exe -Run -TestPath scenario.lrs
# 打开指定场景并执行

Wlrun.exe -Run -TestPath scenario.lrs -ResultName res_folder
# 打开场景执行之后并将结果保存到指定目录

Wlrun.exe -Run -TestPath scenario.lrs -ResultName res_folder -InvokeAnalysis
# 执行完成保存结果之后开始分析

下面看一个复杂的例子

set LR_HOME=C:\Program Files\Mercury\LoadRunner
for /L %%i in (1,1,10) do "%LR_HOME%\bin\Wlrun.exe" -Run -TestPath "%LR_HOME%\scenario\memory_leak_crash.lrs" -ResultName C:\Temp\LR_Res\result%%i

3. 其它问题

注意如果要指定结果名字,需要关闭场景的结果设置中的override on each选项

2. 如何自动生成分析结果

1. LoadRunner 如何分析并生成 HTML 报告

主要有下面几个步骤:

  1. 从命令行执行压测场景
  2. Controller 执行测试
  3. 生成并导出自定义的 HTML 报告

2. 新增 HTML 报告模板

需要添加自定义的图表到 Analysis,然后新增 HTML 模板

Loadrunner11 新建报告模板的时候没法添加删除图表,所以在新建报告之前要把需要的图表都添加好之后再新建模板,这样模板中就是分析中已经有的模板内容了。

3. 之前是如何生成 HTML 报告

手动添加图,删除不必要的图,然后导出结果

4. 如何自动生成报告

主要分为几步:

  1. 开始压测
  2. 收集结果
  3. 生成报告

5. 怎么创建报告格式

首先按照需要的图表生成一个报告,然后 Tools>Templates>new 可以新增模板,但是要注意:

  • 取消勾选Automatically apply this template to a new session
  • 勾选Generate the following automatic HTML report
  • 勾选Automatically save the session as
  • 勾选Automatically close Analysis after saving session

6. 如何从命令行进行结果分析

  • path_to_AnylysisUi.exe,只运行结果分析
  • 要打开.lrr或者.lra文件,执行path_to_AnalysisUI.exe -RESULTPATH path_to_lrr or lra
  • 要打开结果并应用特定的模板,path_to_anylysisUI.exe -RESULTPATH path_to_lrr_or_lra_file -TEMPLATENAME name_of_template

还有一些需要注意的:

  • 如果路径包含空格,使用""括起来
  • 需要指定的是模板的名字,而不是路径

3. 实际的例子

D:\Program Files (x86)\HP\LoadRunner\bin>wlrun.exe -Run -TestPath D:\loadrunner\
Scenarios\test.lrs -ResultName D:\test\testResult\result03

D:\Program Files (x86)\HP\LoadRunner\bin>AnalysisUI.exe -RESULTPATH D:\test\test
Result\result03\result03.lrr -TEMPLATENAME html

可能需要用管理员来执行

C:\Users\AppAdmin>runas /user:Administrator "D:\Program Files (x86)\HP\LoadRunner\bin\wlrun.exe -Run -TestPath D:\loadrunner\Scenarios\test.lrs -ResultName D:\test\testResult\result05"
输入 Administrator 的密码:
试图将 D:\Program Files (x86)\HP\LoadRunner\bin\wlrun.exe -Run -TestPath D:\loadrunner\Scenarios\test.lrs -ResultName D:\test\testResult\result05 作为用户"Administrator" 启动...

参考资料

官方文档

共收到 1 条回复 时间 点赞

您好,我在通过命令行进行 LR 结果分析的时候,发现 lrr 格式的 lr 结果可以正常解析生成 html,而解析 lra 格式的 lr 结果则不生效,不知道您这边有没有遇到这样的问题,有没有解决的办法。谢谢。

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册