51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 2025|回复: 1
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2012-8-28 17:22:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
*************************************************************************************************
'    可简单重复,耗时统计脚本
'*************************************************************************************************
'定义 一些可变的参数
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
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2012-8-29 08:45:17 | 只看该作者
给具体的错误信息
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-9-23 05:31 , Processed in 0.073089 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表