摘要: 前段时间,老板要求每天包括晚上要在不同的压力下,且不断重复地运行smoke test.但是晚上我们不可能就自己动手让我们的QTP的运行,而且就算是白天也不可能做到在某一个时间点上,自己手动来运行自动化测试。 ...
前段时间,老板要求每天包括晚上要在不同的压力下,且不断重复地运行smoke test.但是晚上我们不可能就自己动手让我们的QTP的运行,而且就算是白天也不可能做到在某一个时间点上,自己手动来运行自动化测试。 那该怎么办呢?可以考虑用Window自带的Schedule来定时触发我们的QTP。但是schedule是无法直接去打开QTP或者去运行VBS,那又该怎么办?我是用下的解决方法与大家共享: Schedule -> Bat -> VBS -> QTP主函数 -> VBScripts.具体代码如下: Bat: ------------------------------------ |
taskkill /im EXCEL.EXE /ftaskkill /im wscript.exe /ftaskkill /im QTPro.exe /ftaskkill /im QTAutomationAgent.exe /fping -n 3 127.1>nulstart C:AutoTestTA_AutomationTestC9553_QTPScript _MainScriptLaunchLoopTest.vbs**************************************************************************** LaunchLoopTest.vbs: ----------------------Dim qtAppDim qtTestDim qtResultsOptDim GenerateDateTime,TestResult,BakTestResultGenerateDateTime =Replace(FormatDateTime(Date(),2),"/","_") & "-" & Replace(FormatDateTime(Time(),3),":","_") '自定义一个获取当前时间的字符串TestResult = "C:AutoTestTA_AutomationTest1_ReportExcelReportTest_Result.xls" '获得测试结果BakTestResult = "C:AutoTestTA_AutomationTest1_ReportExcelReportTest_Result" & GenerateDateTime & ".xls"Set qtApp = CreateObject("QuickTest.Application") ' 建立QTP的应用对象qtApp.Launch ' Start QuickTestqtApp.Visible = True ' 让QTP运行过程可见' 设置当运行过程中如果出错,抓图。qtApp.Options.Run.ImageCaptureForTestResults = "OnError"' 快速运行。qtApp.Options.Run.RunMode = "Fast"qtApp.Options.Run.ViewResults = FalseqtApp.Open "C:AutoTestTA_AutomationTestC9553_QTPScript _MainScriptMainScript2", True ' 以只读的方式开打开QTP主函数' 为Test设置运行Set qtTest = qtApp.TestSet qtResultsOpt = CreateObject("QuickTest.RunResultsOptions") ' 建立测试结果qtResultsOpt.ResultsLocation = "C:AutoTestTA_AutomationTest1_Report" & GenerateDateTime ' 建立起QTP自动的测试结果路径'qtResultsOpt.ResultsLocation = "D:temp2res1"qtTest.Run qtResultsOpt ' 运行QTP主函数qtTest.Close ' 关闭主函数qtApp.Quit ' 退出Set qtResultsOpt = Nothing ' 释放对象Set qtTest = NothingSet qtApp = NothingSet fso = CreateObject("Scripting.FileSystemObject")fso.MoveFile TestResult, BakTestResult '备份当前运行完脚本后的测试结果Set fso = Nothing