HP ALM 11.52 — OTA API — Тестовые сценарии возврата и вывода с помощью сценария VB

Я использую OTA для загрузки тестовых случаев из Excel в ALM.

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

Примечание. Контроль версий включен.

У меня включен контроль версий, поэтому мне нужно проверить созданный тестовый пример, прежде чем я смогу добавить шаги. Предпочтительно, я хотел бы иметь возможность снова проверить тестовый пример, когда я закончу. Есть ли способ сделать это с помощью OTA API?

Это сценарий, который я использую:

Sub UploadTC()

Dim QCConnection
Dim qcUserName, qcPassword, qcDomain, qcProj
Dim tsf, trmgr
Dim trfolder, trtest
Dim dsf, dstep, steplist
Dim TCR As Range
Dim cache As Range
Dim scount As Range
'Fields
Dim TCName As Range
Dim TCStep As Range
Dim TCDesc As Range
Dim TCExRe As Range
Dim TCComm As Range
Dim TCType As Range



'~~~These need to come from a user form. Temporary.
qcUserName = "ssoong01"
qcPassword = "*********"
qcDomain = "HUB"
qcProj = "*********"

Set QCConnection = CreateObject("TDApiOle80.TDConnection")
'MsgBox ("Connect to QC Server")

QCConnection.InitConnectionEx "http://hpalm-qc.*****.net:8080/qcbin/"
'MsgBox ("Connection Established.")

QCConnection.Login qcUserName, qcPassword
'MsgBox ("Login Authenticated.")

QCConnection.Connect qcDomain, qcProj
'MsgBox ("Connected to Project.")

Set tsf = QCConnection.TestFactory
Set trmgr = QCConnection.TreeManager

With ThisWorkbook.Sheets("Test Cases")

 'Create Project Folder
Set trfolder = trmgr.NodebyPath("Subject").AddNode(.Cells(3, 2))
trfolder.Post
'Loop through each row in sheet from A4
Set cache = ThisWorkbook.Sheets("Values").Range("$A$3")
For Each TCR In .Range(.Cells(4, 1), .Cells(.Cells(Rows.Count, 1).End(xlUp).Row, 1))
    Set TCName = .Range(TCR.Offset(0, 1).Address)
    Set TCType = .Range(TCR.Offset(0, 7).Address)

    'If Folder Then
        If TCType.Value = "Folder" Then
            Set trfolder = trmgr.NodebyPath("Subject" & TCR.Value).AddNode(TCName.Value)
            trfolder.Post
    'If Test Case Then
        ElseIf TCType.Value = "MANUAL" Then
            'If cached TC name = current row TC name then skip
            If TCName = cache.Value Then
            'Add Test Case
            ElseIf TCName <> cache.Value Then
                Set trfolder = trmgr.NodebyPath("Subject" & TCR.Value)
                Set trtest = trfolder.TestFactory.AddItem(TCName.Value)
                    ' set values
                    trtest.Field("TS_NAME") = TCName
                    trtest.Field("TS_RESPONSIBLE") = qcUserName ' Designer
                    trtest.Field("TS_TYPE") = "MANUAL"

                    trtest.Post

            'Steps
            Set dsf = trtest.DesignStepFactory
            Set steplist = dsf.Newlist("[empty]")

            ' loop through all the steps
            Set scount = .Range(TCName.Address)
            Do
                Set TCStep = .Range(scount.Offset(0, 1).Address)
                Set TCDesc = .Range(scount.Offset(0, 2).Address)
                Set TCExRe = .Range(scount.Offset(0, 3).Address)
                Set TCComm = .Range(scount.Offset(0, 4).Address)

                Set dstep = dsf.AddItem(Null)
                    dstep.Field("DS_STEP_NAME") = TCStep.Value
                    dstep.Field("DS_DESCRIPTION") = TCDesc.Value
                    dstep.Field("DS_EXPECTED") = TCExRe.Value
                    Set scount = .Range(scount.Offset(1).Address)
            Loop Until scount.Value <> scount.Offset(-1).Value

            dstep.Post

                'cache TC name
                cache.Value = TCName.Value
            End If
        Else:
            MsgBox ("Invalid type at cell: " & TCR.Address)
        End If

Next TCR

Управление жизненным циклом приложений HP

Версия для управления жизненным циклом приложений 11.52.514

ОТА-клиент 11.52.514.0


person ssoong    schedule 24.07.2015    source источник


Ответы (2)


Да, вы можете выполнять операции регистрации и возврата с помощью OTA API. Это подробно описано в документации, а также там есть примеры скриптов, которые показывают, как это можно сделать. Я предполагаю, что вы знаете, где найти справку/документацию по OTA API?

Вот пример скрипта из документации, который показывает, как написать функцию, которая выполняет проверку теста:

Public Function CheckoutTest(tst As Test, comment$, _
    ByRef CanContinue As Boolean) As Object

    On Error GoTo checkout_err
    CanContinue = True

    Dim fVersionControl As VCS
    Set fVersionControl = tst.VCS

    If IsNull(fVersionControl) Then
        Set CheckoutTest = Null
        Exit Function
    End If

    Set CheckoutTest = fVersionControl
    fVersionControl.CheckOut -1, comment, False

Exit Function
checkout_err:
    CanContinue = False
    ErrHandler err, "CheckoutTest", "", FATAL_ERROR
End Function
person nils1k    schedule 28.07.2015

Я нашел ответы, которые искал, в документации OTA. Определенно ресурс, который я должен использовать чаще.

person ssoong    schedule 28.07.2015