前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【性能工具】LoadRunner多场景顺序执行

【性能工具】LoadRunner多场景顺序执行

作者头像
Luga Lee
发布2022-03-25 13:59:31
4750
发布2022-03-25 13:59:31
举报
文章被收录于专栏:架构驿站

应用场景:

假设有多个不同的测试场景,多个场景有先后执行顺序。或者都需要测试,但白天时间有限, 通过晚上批量执行,可以有两种方式实现。

第一种:利用LR Controller里面Group的功能 新建一个场景把3个脚本都添加进来,在Edit Schedule中选择“Schedule by Group”的方式,在StartTime中设置3个脚本的运行顺序为“Start when Group xxx finished”,并在“Scenario Start Time”中设定场景在晚上的运行启动时间。设定完定时执行场景后,点击StartScenario按钮,会出现一个倒计时窗口,这样在固定的某个时间 上,测试场景中的3个脚本将乖乖的按照设定的先后顺序进行测试。注意,如果没有点击StartScenario按钮激活测试,是不会真正进行测试的。(原文拷贝至上面的链接)

这种模式存在的一个问题是,多个Group的结果放在一起,分析的时候很麻烦

1.注意将没有Group中需要监控的事务名字设置为各不相同且易于理解的 2.通过时间来区分不同Group的Hits/PerSecond

第二种:使用批处理 我们把应用场景稍微扩展一下,假设其中每个场景一个测试脚本(实际上没有关系,在场景里边设置你需要的脚本和模式,时间等等)。这时,可以通过命令行的方式来进行。 首先创建并设置好不同测试场景,再创建一个一个批处理程序按先后顺序调用这些场景进行测试,最后通过Windows的定时任务设定批处理的执行时间。 批处理示例如下: cls SET M_ROOT="D:\Program Files\MI\Mercury LoadRunner\bin\" %M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_1.lrs" -Run %M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_2.lrs" -Run %M_ROOT%\wlrun.exe -TestPath "D:\Program Files\MI\Mercury LoadRunner\scenario\Test\TestScen_3.lrs" -Run 这种方式比较灵活,但需要注意在ResultSettings中设置“Automatically create a results directory for each scenario execution”,以免后面的测试结果覆盖了前面的。所有Result最好设置到相同指定的目录,这样后续便于查看.

这种方式比较好,将这些代码直接拷贝过去修改一下就可以用了

1. 在Control中设置好日志记录方式和路径,生成的日志名从res0.res1...顺序生成

2. 一个场景跑完后,一般需要停止一段时间在执行下一个,需要在批处理中增加sleep操作

使用Windows的VBS脚本中的sleep函数,可以动态创建这个VBS脚本,然后用Windows脚本宿主的命令行版本调用它。时间精度为微妙,使用平台为Win9x/WinNT系列。

@echo off & setlocal enableextensions enabledelayedexpansion echo Wscrīpt.Sleep 2000 > %temp%\tmp$$$.vbs echo %time% cscrīpt //nologo %temp%\tmp$$$.vbs echo %time% for %%f in (%temp%\tmp$$$.vbs) do if exist %%f del %%f endlocal & goto :EOF

其中csript E:\>cscrīpt Microsoft (R) Windows scrīpt Host Version 5.6 版权所有(C) Microsoft Corporation 1996-2001。保留所有权利。 用法:Cscrīpt scrīptname.extension [option...] [arguments...] 选项: //B 批模式:不显示脚本错误及提示信息 //D 启用 Active Debugging //E:engine 使用执行脚本的引擎 //H:Cscrīpt 将默认的脚本宿主改为 Cscrīpt.exe //H:Wscrīpt 将默认的脚本宿主改为 Wscrīpt.exe (默认) //I 交互模式(默认,与 //B 相对) //Job:xxxx 执行一个WSF 工作 //Logo 显示徽标(默认) //Nologo 不显示徽标:执行时不显示标志 //S 为该用户保存当前命令行选项 //T:nn 超时设定秒:允许脚本运行的最长时间 //X 在调试器中执行脚本 //U 用 Unicode 表示来自控制台的重定向 I/O 我的实际运行代码(2003下运行通过) 1.需要修改sleep的时间长短,单位微秒,比如5分钟为300 000 2.只需要修改wlrun.exe的目录和-TestPath参数的目录即可 @echo off & setlocal enableextensions enabledelayedexpansion echo Wscrīpt.Sleep 30000 > %temp%\tmp$$$.vbs SET LR_PATH="E:\Program Files\Mercury Interactive\Mercury LoadRunner\bin" %LR_PATH%\wlrun.exe -TestPath "E:\....\_pplive_com.lrs" -Run echo %time% cscrīpt //nologo %temp%\tmp$$$.vbs %LR_PATH%\wlrun.exe -TestPath "E:\....\_cartoon.lrs" -Run echo %time% cscrīpt //nologo %temp%\tmp$$$.vbs %LR_PATH%\wlrun.exe -TestPath "E:\....\list_pages_pid.lrs" -Run echo %time% for %%f in (%temp%\tmp$$$.vbs) do if exist %%f del %%f endlocal & goto :EOF

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2015-03-23,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 架构驿站 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档