51Testing软件测试论坛

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

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 1329|回复: 3
打印 上一主题 下一主题

[原创] 为什么我执行一次脚本要半个小时以上,怎么解决啊?

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2010-1-11 14:03:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
Report("C:\result1.xls")

Const ForReading = 1
Const ForWriting=2
Dim ResultArray(7)
Dim Attribute
Dim i
i=11
j=401
ISODrive="I:\"
destination="c:\test.txt"


Compuare_FirstTime()

Public Function Compuare_FirstTime()
  Set objFSO = CreateObject("Scripting.FileSystemObject")
      Set objTextFile= objFSO.OpenTextFile (destination, ForReading)
      Do Until objTextFile.AtEndOfStream
      FileLine = objTextFile.ReadLine
      ISO_Path=ISODrive+trim(FileLine)
      If  objFSO.FileExists(ISO_Path)Then
                  f=objFSO.GetFile(ISO_Path)
            ResultArray(0)=FileLine
        ResultArray(1)=ISO_Path
            ResultArray(2)="Exists"
            Attribute=ShowFileAccessInfo(ISO_Path)
            ResultArray(3)=Attribute(0)
            ResultArray(4)=Attribute(1)
            ResultArray(5)=Attribute(2)
            ResultArray(6)=Attribute(3)
                ReportToExcel ResultArray,i
        i=i+1
          else
         ResultArray(0)=FileLine
         ResultArray(1)="NULL"
             ResultArray(2)="Do not Exists"
                 ReportToExcel ResultArray,j
                 j=j+1
  End if
   
   Loop
    objTextFile.Close
Set objFSO=Nothing
End Function

Function ShowFileAccessInfo(filespec)
   Dim attribute(4)
   Dim fso, f, s
   Set fso = CreateObject("Scripting.FileSystemObject")
   Set f = fso.GetFile(filespec)
   attribute(0)=ShowFileVersion(filespec)
   attribute(1)=f.DateCreated
   attribute(2)=f.DateLastModified
   attribute(3)=f.size
   ShowFileAccessInfo=attribute
End Function

Function ShowFileVersion(filespec)
   Dim wShell, exec,version_original,version,command
   Set wShell = CreateObject( "WScript.Shell" )
   command="%comspec% /C filever.exe" +" " +filespec
   Set exec = wShell.Exec( command )
   version_original=exec.StdOut.ReadALL
   ShowFileVersion=mid(version_original,27,10)
End Function


public Sub ReportToExcel(ByVal ResultArray,n)
   Set fso=CreateObject("Scripting.FileSystemObject")
   Set oExcel=CreateObject("Excel.Application")
   Set objWorkBook = oExcel.Workbooks.Open("c:\result1.xls")
   Set objSheet = oExcel.Sheets("Testing Result")
   With objSheet
       Environment.Value("Row") = .Range("C7").Value + n
          .Cells(Environment("Row"),2).value = ResultArray(0)
          .Cells(Environment("Row"),3).value = ResultArray(1)
          .Cells(Environment("Row"),4).value = ResultArray(2)
          .Cells(Environment("Row"),5).value = ResultArray(3)
          .Cells(Environment("Row"),6).value = ResultArray(4)
          .Cells(Environment("Row"),7).value = ResultArray(5)
          .Cells(Environment("Row"),8).value = ResultArray(6)
        End With
        objWorkBook.Save
        oExcel.Quit
        Set objSheet = Nothing
        Set objWorkBook = Nothing
        Set oExcel = Nothing
        Set fso = Nothing
End Sub

Public Function Report(ReportExcelFile)
   Dim fso
   Dim oExcel
   Dim ExcelFile
   Dim TestCaseName
   Dim objWorkBook
   Dim objSheet
   Dim NewTC
   Dim Status
   Dim temp
   Dim PngPath

   Set fso=CreateObject("Scripting.FileSystemObject")
   Set oExcel=CreateObject("Excel.Application")

   Status=UCase(sStatus)
   'oExcel.Visable=false

   If Not fso.FileExists(ReportExcelFile) Then
          oExcel.Workbooks.Add
      
           Set objSheet=oExcel.Sheets.Item(1)
           oExcel.Sheets.Item(1).Select
           With objSheet
           .Name="Testing Result"
           .Columns("A:A").ColumnWidth=5
           .Columns("B:B").ColumnWidth=100
            .Columns("C:C").ColumnWidth=100
           .Columns("D").ColumnWidth=60
           .Columns("E:E").ColumnWidth=80
           .Columns("F:F").ColumnWidth=80
           .Columns("F:F").ColumnWidth=80
           .Columns("G:G").ColumnWidth=80
           .Columns("H:H").ColumnWidth=80
           .Columns("A:H").HorizontalAlignment=-4131
           .Columns("A:H").WrapText=True

           .Range("A:H").Font.Name="Arial"
           .Range("A:H").Font.Size=10

           .Range("B1").Value="Testing Result"
           .Range("B1:C1").Merge

           .Range("B1:C1").Interior.ColorIndex=53
           .Range("B1:C1").Font.ColorIndex=19
           .Range("B1:C1").Font.Bold=True

           .Range("B3").Value="Test Date:"
           .Range("B4").Value="Test Start Time:"
           .Range("B5").Value="Test End Time:"
           .Range("B6").Value="Test Duration:"
           .Range("C3").Value=Date
           .Range("C4").Value=Time
           .Range("C5").Value=Time
       .Range("C6").Value="=R[-1]C-R[-2]C"
           .Range("C6").NumberFormat="[h]:mm:ss;@"


           .Range("B3:C8").Interior.ColorIndex = 40
           .Range("B3:C8").Font.ColorIndex = 12
           .Range("C3:C8").Font.ColorIndex = 7
           .Range("B3:A8").Font.Bold = True
           .Range("B7").Value = "No Of Testcases:"
           .Range("C7").Value= "0"
           .Range("B8").Value= "Testing Machine:"
          ' .Range("C8").Value =GetIP()
           .Range("B10").Value = "File list item"
           .Range("C10").Value = "ISO list item"
           .Range("D10").Value = "Compare Result"
           .Range("E10").Value = "ISO item Version"
           .Range("F10").Value = "ISO item Created"
           .Range("G10").Value = "ISO item Modified"
           .Range("H10").Value = "ISO item size"

         ' set style for Result Summery
           .Range("B10:H10").Interior.ColorIndex = 53
           .Range("B10:H10").Font.ColorIndex = 19
           .Range("B10:H10").Font.Bold = True

       'set style for Result Summery
           .Range("B10:H10").Borders(1).LineStyle= 1
           .Range("B10:H10").Borders(2).LineStyle= 1
           .Range("B10:H10").Borders(3).LineStyle= 1
           .Range("B10:H10").Borders(4).LineStyle= 1
           .Range("B10:H10").HorizontalAlignment= -4131
           .Range("C11:C1000").HorizontalAlignment= -4131
           .Columns("B:H").Select '
           .Columns("B:H").Autofit
           .Range("B11").Select
          
       .Range("B400").Value = "File list item"
           .Range("C400").Value = "ISO list item"
           .Range("D400").Value = "Compare Result"
           .Range("E400").Value = "ISO item Version"
           .Range("F400").Value = "ISO item Created"
           .Range("G400").Value = "ISO item Modified"
           .Range("H400").Value = "ISO item size"

          
     ' set style for Result Summery
           .Range("B400:H400").Interior.ColorIndex = 53
           .Range("B400:H400").Font.ColorIndex = 19
           .Range("B400:H400").Font.Bold = True

           'set style for Result Summery
           .Range("B400:H400").Borders(1).LineStyle= 1
           .Range("B400:H400").Borders(2).LineStyle= 1
           .Range("B400:H400").Borders(3).LineStyle= 1
           .Range("B400:H400").Borders(4).LineStyle= 1
           .Range("B400:H400").HorizontalAlignment= -4131
           .Range("C400:C1000").HorizontalAlignment= -4131
           .Columns("B:H").Select '
           .Columns("B:H").Autofit
           .Range("B11").Select
           End with
           oExcel.ActiveWindow.FreezePanes = True
           oExcel.ActiveWorkbook.SaveAs ReportExcelFile
           oExcel.Quit
           Set objSheet = Nothing
   End If
End Function

Public Function GetIP
   ComputerName="."
   Dim objWMIService,colItems,objItem,objAddress
   Set objWMIService = GetObject("winmgmts:\\" & ComputerName & "\root\cimv2")
   Set colItems = objWMIService.ExecQuery("Select * FromWin32_NetworkAdapterConfiguration Where IPEnabled = True")
   For Each objItem in colItems
            For Each objAddress in objItem.IPAddress
                        If objAddress <> "" then
                                GetIP = objAddress
                                Exit Function
                        End If
                Next
  Next
End Function

[ 本帖最后由 xzcg 于 2010-1-11 14:04 编辑 ]
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
 楼主| 发表于 2010-1-11 14:04:11 | 只看该作者

哪个地方有问题啊?

我拿别的脚本语言写只用2分钟就执行完了
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2010-1-11 14:27:09 | 只看该作者
把脚本分段运行,先定位出是哪部分脚本耗费的时间最长
回复 支持 反对

使用道具 举报

该用户从未签到

4#
 楼主| 发表于 2010-1-11 15:06:44 | 只看该作者

解决了 是一个变量的区域设置错了

解决了 是一个变量的区域设置错了  多谢
回复 支持 反对

使用道具 举报

本版积分规则

关闭

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

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

GMT+8, 2024-11-27 00:37 , Processed in 0.068231 second(s), 23 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

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