以命令行方式启动场景。进入LoadRunner安装目录下的bin启动以下命令:
- Wlrun.exe -TestPath g:\Scenario\scenario1.lrs -Run
上面这个命令说明调用wlrun.exe启动场景,通过-TestPath参数启动g:\scenario\ scenario1.lrs场景文件,-Run参数说明启动该场景。
更多命令及Wlrun支持的参数如表6.26所示。
表6.26 场景执行命令表
命令参数 |
说 明 |
TestPath |
Path to the scenario, for example, 这里可以填写场景的物理地址 C:\LoadRunner\scenario\Scenario.lrs This argument can also be used for a scenario residing in a Quality Center database. For example, 也可以填写场景在TD/QC上的地址 "[TD]\Subject\LoadRunner\Scenario1" If the path includes blank spaces, use quotation marks. 如果路径中存在空格,那么使用引号 |
Run |
Runs the scenario, dumps all output messages into 运行场景,场景结束后将所有信息输 出到以下地址并关闭Controller res_dir\output.txt and closes Controller |
InvokeAnalysis |
Instructs LoadRunner to invoke Analysis upon scenario termination. If this argument is not specified, LoadRunner uses the scenario default setting. 当场景结束时自动调用Analysis,如果该 参数没有被定义,则使用场景中的默认设置。 |
ResultName |
Full results path. 自定义场景结果的完 整地址(包括路径和名称) For example, "C:\Temp\Res_01" |
ResultCleanName |
Results name. 自定义结果的名称 For example, "Res_01" |
ResultLocation |
Results directory. 自定义结果的路径 For example, "C:\Temp" |
进行性能测试自动化时还经常遇到一个麻烦的问题就是测试环境的变动,为了进行基准测试,经常需要在不同的环境下进行同负载的测试,这时对于代码的可维护性就有了较高的要求,这里可以通过命令参数的形式来解决。
在前面我们谈到过如何使用命令行启动脚本,那么在场景中同样也可以通过命令行导入环境信息,首先将所有的服务器地址信息替换成一个参数如 {serverinfo},然后通过r_save_string(lr_get_attrib_string( "sinfo" ),"serverinfo")函数将命令输入的服务器地址信息载入再保存到参数中去。这样在执行场景的时候只需要通过修改启动场景的配置参数就可以实现 场景运行支持环境的变化。
这里需要先设计好场景,在场景中打开自动生成测试数据目录功能,当然也可以使用命令行自行定义。脚本运行后会得到res目录,然后通过添加的方式将该数据添加到SVN服务器上。
使用Svn add命令将性能测试数据提交至服务器。
例如我们将场景执行后res目录下的场景数据提交至服务器,输入命令Svn add \res\,最后通过Svn commit命令提交数据。
在Windows平台下可将上述操作添加进BAT批处理文件,通过AT命令或者计划任务设置为定时启动即可。
这里主要提出了一个简单性能测试自动化的方式,每日构建需要相当成熟的研发团队和开发流程,切勿生搬硬套。
TIPS:
集合点
可以在多个脚本上设置相同的集合点名称来实现多个脚本同时并发的效果.
集合点和事务
集合点应该放在事务外(紧挨着在lr_start_transaction()之前),如果事务内存在集合点,那么虚拟用户在集合点等待的过程也会被算入事务时间,导致早进入集合点的用户的响应时间有误。
脚本开发
脚本开发是一个体力活,通过自行编写一个脚本对服务器进行负载,而脚本开发又基于需求,在掌握用户真正的行为特征后,即可根据其开发性能测试脚本。
另外一个方面,根据性能测试的目的,脚本可以分为两大类:
一类是针对某个具体功能的调试型性能测试脚本,这种脚本的操作尽可能少,主要是为了测试某一个功能而开发的;
另一种是模拟用户行为的脚本,该脚本完全模拟了用户的常见操作及逻辑分支,主要是为了进行稳定性测试或系统级别的性能测试而开发的。
常规的性能测试目标有以下几种:
(1)度量最终用户响应时间
(2)定义最优的硬件配置
(3)检查可靠性
(4)查看硬件或软件升级
(5)确定瓶颈
(6)度量系统容量