|
本帖最后由 hokage2000 于 2011-3-13 14:14 编辑
- @ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
- TITLE AutoScenario - Created by Xingo.
- SET AUTO_PAUSE=IF "%1" NEQ "-np" PAUSE
- IF NOT EXIST *.lrs (
- ECHO 错误:未找到场景文件(*.lrs)!
- ECHO - 请确保此工具所在目录(或当前工作目录)下存在场景文件。
- GOTO End
- )
- SET LRSDIR=%CD%
- IF DEFINED TEMP (
- SET TEMPFILE="%TEMP%\lrslist.tmp"
- ) ELSE (
- SET TEMPFILE="lrslist.tmp"
- )
- IF DEFINED LR_ROOT (
- SET M_ROOT=%LR_ROOT%bin
- ) ELSE (
- IF DEFINED LR_PATH (
- SET M_ROOT=%LR_PATH%bin
- ) ELSE (
- ECHO 错误:自动获取路径失败!
- SET M_ROOT=请手动指定LoadRunner\bin路径:
- )
- )
- IF NOT EXIST "%M_ROOT%" (
- ECHO 错误:未找到LoadRunner\bin路径!
- %AUTO_PAUSE%
- GOTO End
- )
- IF NOT EXIST "%M_ROOT%\Wlrun.exe" (
- ECHO 错误:未找到场景执行程序!
- %AUTO_PAUSE%
- GOTO End
- )
- ECHO - 已知的LoadRunner场景执行程序:%M_ROOT%\Wlrun.exe
- ECHO.
- ECHO - 正在生成将要执行的场景列表. . .
- DIR /A-D /B *.lrs>%TEMPFILE%
- ECHO.
- ECHO - 将要执行的场景如下:
- TYPE %TEMPFILE%
- ECHO.
- ECHO 若要终止运行,请直接关闭窗口。&%AUTO_PAUSE%
- %M_ROOT:~,2%
- CD %M_ROOT%
- SET RES=%LRSDIR%\res
- FOR /F "usebackq tokens=*" %%A IN (%TEMPFILE%) DO (
- SET RES=%%A
- SET RES=%LRSDIR%\!RES:~,-4!_res
- IF EXIST "!RES!" RD /S /Q "!RES!"
- PING 127.1>nul -n 5
- Wlrun -TestPath "%LRSDIR%\%%A" -Run -ResultName "!RES!"
- ECHO.&ECHO - 场景 %%A 执行结束。
- )
- ECHO.&ECHO - 所有场景执行结束。
- %AUTO_PAUSE%
- :End
- SET AUTO_PAUSE=
- IF EXIST "%TEMPFILE%" DEL /Q "%TEMPFILE%"
- SET M_ROOT=
- SET RESDIR=
复制代码 功能:这个工具是用来批量执行场景的,假设一个目录下存放了多个场景文件(*.lrs),则本工具可自动依次执行它们。
用法:将上面的代码另存为"AutoScenario.bat"后,放入场景所在路径,双击即可执行。
诀窍:在创建性能测试项目时,建议将场景保存到同一个目录下(如,“D:\TestProject”),录制的脚本则命名为与场景相关的名字并作为其子目录保存(如,“D:\TestProject\Login”、“D:\TestProject\GetAccount”等)。这样在设计场景时可以使用相对路径引用脚本(如将脚本路径设置为“.\Login”、“.\GetAccount”等)。
拓展:熟悉命令行的你应该明白“当前路径”的概念。聪明的你只要在命令行中将当前路径设置为场景所在路径便可以灵活调用此工具来运行场景了。
例1:在命令行中使用,执行时不暂停
C:\Documents and Settings\Xingo>D:
D:\>CD TestProject
D:\TestProject>AutoScenario.bat -np
例2:自定义批处理文件,*.lrs分布在多个文件夹中
(假设场景在“D:\TestProject”和“E:\Performance”中,“AutoScenario.bat”位置在“C:\AutoScenario.bat”)- @ECHO OFF&SETLOCAL ENABLEDELAYEDEXPANSION
- D:
- CD TestProject
- "C:\AutoScenario.bat" -np
- E:
- CD Performance
- "C:\AutoScenario.bat" -np
- ECHO 场景执行完毕。
- PAUSE
复制代码 提醒:
之前在9.5版本上自动执行场景有很大的概率出现卡死的情况。
建议大家使用LR11。 |
|