51Testing软件测试论坛

标题: 大家来看看这条简单的 登陆计时qtp脚本出错在哪里。紧急。谢谢。。好人一生平安 [打印本页]

作者: dada11    时间: 2012-8-28 17:22
标题: 大家来看看这条简单的 登陆计时qtp脚本出错在哪里。紧急。谢谢。。好人一生平安
*************************************************************************************************
'    可简单重复,耗时统计脚本
'*************************************************************************************************
'定义 一些可变的参数
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
作者: 云层    时间: 2012-8-29 08:45
给具体的错误信息




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2