QTP中對QC附件操作的幾個函數(2)

發表于:2012-07-25來源:Csdn作者:tulituqi點擊數: 標簽:qtp
返回: Bool類型,True代表替換附件成功,False代表替換附件失敗 示例:ReplaceAttachmentOnQC QCUtil.CurrentTest, data_file_attached.xls, d:/temp/data_file_attached.xls 設計人員

  '返回:

  ' Bool類型,True代表替換附件成功,False代表替換附件失敗

  '示例:ReplaceAttachmentOnQC QCUtil.CurrentTest, "data_file_attached.xls", "d:/temp/data_file_attached.xls"

  '設計人員:LYH

  '設計時間:08/10/23

  '******************************************************************************************************************************************

  Public Function ReplaceAttachmentOnQC(TestObject, OldFileName, NewFileName)

  On Error Resume Next

  '初始化函數返回值

  ReplaceAttachmentOnQC = False

  '用Filter取得TestObject中符合FileName條件的附件

  Set AttachmentFactory = TestObject.Attachments

  Set AttachmentFilter = AttachmentFactory.Filter

  '由于QC中保存的附件名稱前都添加了如Test_#_的前綴

  '需要對OldFileName進行處理,使Filter中使用的條件包含*

  OldFileName = Trim(OldFileName)

  If InStr(1, OldFileName, "*") = 1 Then

  AttachmentFilter.Filter("CR_REFERENCE") = OldFileName

  Else

  AttachmentFilter.Filter("CR_REFERENCE") = "*" & OldFileName

  End If

  '從經過搜索的附件List中刪除附件

  Set AttachmentList = AttachmentFactory.NewList(AttachmentFilter.Text)

  '如果找到一個或一個以上附件,取第一個附件刪除并繼續上傳新文件

  If AttachmentList.Count > 0 Then

  Set Attachment = AttachmentList.Item(1)

  AttachmentFactory.RemoveItem(Attachment.ID)

  '上傳更新的附件

  ReplaceAttachmentOnQC = AddAttachmentOnQC(TestObject, NewFileName)

  Else

  '如果沒有找到附件,返回False。不繼續上傳新文件

  ReplaceAttachmentOnQC = False

  End If

  '錯誤情況處理

  If Err.Number <> 0 Then

  Err.Clear

  ReplaceAttachmentOnQC = False

  On Error GoTo 0

  End If

  End Function

  '******************************************************************************************************************************************

  '名稱:GetAttachmentFromQC

  '說明:從QC服務器上的指定對象(Test、TestSet或者Defect)中找到指定名稱的附件,下載到指定目錄

  '輸入:

  ' TestObject - QC上的對象:Test、TestSet或Defect

  ' FileName - 下載目標文件名(附件)

  ' DstFolder - 下載目標文件夾

  '返回:

  ' Bool類型,True代表取附件成功,False代表取附件失敗

  '示例:GetAttachmentOnQC QCUtil.CurrentTest, "data_file_attached.xls", "d:/temp"

  '設計人員:LYH

  '設計時間:08/10/23

  '******************************************************************************************************************************************

  Public Function GetAttachmentOnQC(TestObject, FileName, DstFolder)

  On Error Resume Next

  '初始化函數返回值

  GetAttachmentOnQC = False

  '為DstFolder變量添加路徑斜杠"/"

  If Right(DstFolder, 1) <> "/" Then

  DstFolder = DstFolder & "/"

  End If

  '取得AttachmentList對象,即TestObject的所有附件

  Set AttachmentFactory = TestObject.Attachments

  Set AttachmentList = AttachmentFactory.NewList("SELECT * FROM CROS_REF")

  '先刪除本地的文件.

  Set fso = CreateObject("Scripting.FileSystemObject")

  If fso.FileExists(DstFolder & Filename) then

  fso.DeleteFile DstFolder & Filename '刪除文件

  End if

  Set fso = Nothing

  '遍歷TestObject對象的所有附件,找到名稱為FileName的附件。附件

  For Each Attachment in AttachmentList

  If InStr(1,Attachment.Name, FileName, 1) >= 1 Then

  Set AttachmentStorage = Attachment.AttachmentStorage

  AttachmentStorage.ClientPath=DstFolder

  AttachmentStorage.Load Attachment.Name,True

  '下載后重命名,去掉QC附件前綴。類似Test_#_Filename

  RenameFile DstFolder & Attachment.Name, DstFolder & Filename

  GetAttachmentOnQC = True

  Exit Function

  End If

  Next

  '錯誤情況處理

  If Err.Number <> 0 Then

  Err.Clear

  GetAttachmentOnQC = False

  On Error GoTo 0

  End If

  End Function

  '******************************************************************************************************************************************

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97