Загрузите все вложения из плана тестирования HP ALM.

Мне нужно загрузить все вложения из всех тестов в рамках плана тестирования. У меня есть функция, которая должна это делать, и мне нужен совет.

Я разместил функцию, которую я использовал для получения всех вложений. Я попытался получить вложения на основе указанного пути. Я попытался изменить фильтр на основе значений, которые я нашел в таблице CROS_REF, поле CR_REFERENCE.

Public Function DownloadAttachments(TDFolderPath, sDownloadTo)
Dim otaAttachmentFactory 'As TDAPIOLELib.AttachmentFactory
Dim otaAttachment 'As TDAPIOLELib.Attachment
Dim otaAttachmentList 'As TDAPIOLELib.List
Dim otaAttachmentFilter 'As TDAPIOLELib.TDFilter
Dim otaTreeManager 'As TDAPIOLELib.TreeManager
Dim otaSysTreeNode 'As TDAPIOLELib.SysTreeNode
Dim otaExtendedStorage 'As TDAPIOLELib.TreeManager
Dim fso

Set fso = CreateObject("Scripting.FileSystemObject")
Dim strPath 'As String
Set otaTreeManager = QCUtil.TDConnection.TreeManager
Set otaSysTreeNode = otaTreeManager.NodeByPath(TDFolderPath)
Set otaAttachmentFactory = otaSysTreeNode.Attachments

Set otaAttachmentFilter = otaAttachmentFactory.Filter
otaAttachmentFilter.Filter("CR_REFERENCE") = "'ALL_LISTS_" & otaSysTreeNode.NodeID & "_*'"

Set otaAttachmentList = otaAttachmentFilter.NewList
DowloadAttachments = ""

If otaAttachmentList.Count > 0 Then
For i = 1 to otaAttachmentList.Count
set otaAttachment = otaAttachmentList.Item(i)
otaAttachment.Load True, ""
If (fso.FileExists(otaAttachment.FileName)) Then
strFile = otaAttachmentList.Item(i).Name
myarray = split(strFile,"ALL_LISTS_"& otaSysTreeNode.NodeID & "_")
fso.CopyFile otaAttachment.FileName, sDownloadTo & "\" & myarray(1)
Reporter.ReportEvent micPass, "File Download:", myarray(1) & " downloaded to " & sDownloadTo
DownloadAttachments = sDownloadTo
end if
Next
Else
Reporter.ReportEvent micFail, "No attachments to download", _
"No attachments found in specified folder '" & TDFolderPath & "'."
DowloadAttachments = "Empty"
End If
Set otaAttachmentFactory = Nothing
Set otaAttachment = Nothing
Set otaAttachmentList = Nothing
Set otaAttachmentFilter = Nothing
Set otaTreeManager = Nothing
Set otaSysTreeNode = Nothing
Set fso = nothing
End Function

Независимо от того, какой (действительный) путь я пробовал, результат тот же. Пишет, что нет вложений для скачивания. Я почти уверен, что проблема в этом фрагменте кода:

Set otaAttachmentFilter = otaAttachmentFactory.Filter
otaAttachmentFilter.Filter("CR_REFERENCE") = "'ALL_LISTS_" & otaSysTreeNode.NodeID & "_*'" 

Кроме того, если у кого-то есть какие-либо советы по другим подходам, любая помощь будет с радостью оценена! Спасибо


person Calin    schedule 02.05.2019    source источник


Ответы (1)


otaAttachmentFilter.Filter("CR_Reference") = "'ALL_LISTS_" & otaSysTreeNode.NodeID & _"_" & sDownloadTo & "'" 

Проверьте это решение. Это может сработать.

person Vishnu Bhatt    schedule 20.08.2019
comment
Привет, Вишну, добро пожаловать в StackOverflow и спасибо за ответ на этот вопрос. Некоторое дополнительное объяснение того, почему ваши решения будут работать, значительно улучшит ваш ответ, чтобы другие тоже могли извлечь из него уроки. знак равно - person JackDev; 20.08.2019