|
*************************************************************************************************
' 可简单重复,耗时统计脚本
'*************************************************************************************************
'定义 一些可变的参数
Dim i , c, exefile, excelfile, excelsheet, run_count, pwd,zh
exefile = "E:\GpsClientGPs\GpsClient\ETransqtp.exe" ' 运行应用程序路径、名称
excelfile = "c:\aaa.xls" ' 输出测试结果的Excel文件路径、名称
excelsheet = "sheet1" ' Excel文件的页面名称
run_count = 10 ' 重复执行次数
For i = 0 to run_count - 1
' 第一次执行时,在Ex cel文件中写入标题
If i = 0 Then
WriteExcelCell excelfile, excelsheet, 1, 1, "登录次数"
WriteExcelCell excelfile, excelsheet, 1, 2, "所耗时间"
End If
'SystemUtil.Run exefile 【这里我自己加上去的。运行程序】
DelphiWindow("frmLogon").WinEdit("Edit").Set DataTable("p_User", dtGlobalSheet) 【在这里就出现报错了。一直没有运行进去】
pwd = Crypt.Encrypt( DataTable("p_password", dtGlobalSheet))
DelphiWindow("frmLogon").DelphiEdit("edPassword").SetSecure pwd
' 开始计时
MercuryTimers("Login_Time").Start
DelphiWindow("frmLogon").DelphiButton("登录[O]").Click
' 循环检查主界面是否显示,若显示则结束计时
Do Until 1 = 0
If DelphiWindow("frmMain").GetROProperty("Showing") Then
MercuryTimers("Login_Time").Stop
Exit Do
End If
Loop
' 退出应用程序
DelphiWindow("frmMain").Close
Dialog("退出提示").WinButton("是(Y)").Click
c = i + 1
' 向Excel文件写入此次执行的登录次数、所耗时间
WriteExcelCell excelfile, excelsheet, c + 1, 1, c
WriteExcelCell excelfile, excelsheet, c + 1, 2, MercuryTimers("Login_Time").ElapsedTime
' 等待3秒,让应用程序完全关闭
wait 3
' 再启动应用程序
If i <> run_count - 1 Then
SystemUtil.run exefile
End If
Next
'******************************************************************************************************************************************
' 公共函数部分
'******************************************************************************************************************************************
' 往Excel文件指定页面、单元写入内容
public Function WriteExcelCell (filename, sheetname, x, y, cellvalue)
Dim srcData,srcDoc,ret, fso
Set fso = CreateObject("Scripting.FileSystemObject")
' 文件不存在时创建文件
If not fso.FileExists(filename) Then
CreateExcelFile excelfile, excelsheet
End If
Set srcData = CreateObject("Excel.Application")
srcData.Visible=false
Set srcDoc= srcData.Workbooks.Open(filename)
srcDoc.Worksheets(sheetname).Activate
srcDoc.Worksheets(sheetname).cells(x,y)= cellvalue
srcDoc.save
srcDoc.Close
Set srcData = Nothing
Set srcDoc = Nothing
End Function
' 创建指定的Excel文件
Public Function CreateExcelFile(filename, sheetname)
Set ExcelObj = CreateObject("Excel.Application")
ExcelObj.Workbooks.Add
Set NewSheet = ExcelObj.Sheets.Item(1)
NewSheet.Name = sheetname
ExcelObj.ActiveWorkbook.SaveAs filename
ExcelObj.Quit
End Function |
|