首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OTA - ALM 11.52 -通过OTA构建图形

OTA - ALM 11.52 -通过OTA构建图形
EN

Stack Overflow用户
提问于 2015-08-18 00:41:50
回答 2查看 3.1K关注 0票数 1

我正在尝试使用OTA和HP ALM 11.52在“分析视图”中创建报告。我搜索了OTA参考文档,并在线查找了一些示例,但似乎都不起作用。

似乎使用了三种方法:

代码语言:javascript
复制
TDConnection.GraphBuilder.BuildGraph(GraphDefinition)

TDConnection.testFactory.BuildSummaryGraph("TS_STATUS", "TS_STATUS", "", 0, myFilter, False, False)

and a third method involving an AnalysisItemFactory object that I can't find anywhere in the OTA documentation.

我已经尝试了前两个,它们似乎运行时没有触发错误,但是,在ALM中没有出现图形。

这些方法之间有区别吗?哪种方法是最干净的?

到目前为止,我的尝试如下:

代码语言:javascript
复制
        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        'Method 1: GraphBuilder

        'Set GB = QCConnection.GraphBuilder

        'Set G1 = GB.CreateGraphDefinition(2, 0)
        'G1.Property(0) = "TS_NAME"
        'G1.Property(1) = "TC_STATUS"
        'Set tsf = QCConnection.TestSetFactory
        'Set myFilter = tsf.Filter
        'myFilter.Filter ("TC_STATUS") = "Not(N/A)"
        'G1.Filter = "Filter: Status[Not N/A]"
        'Set g = GB.BuildGraph(G1)

        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        'Method 2: BuildSummaryGraph            

        'Dim testF
        'Dim graph1
        'Dim Filter

        'Set testF = QCConnection.testFactory

        'Set myFilter = testF.Filter
        'myFilter.Filter("TS_STATUS") = "Not(N/A)"

        'Set graph1 = _
        'testF.BuildSummaryGraph("TC_NAME", "TS_STATUS", "", 0, myFilter, False, False)

        '~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
        'Method 3: AnalysisItemsFactory? I can't find any documentation on this object, yet I've seen it referenced in other code samples.

        'Set aiFolderFact = QCConnection.AnalysisItemFolderFactory
        'Set aiFact = QCConnection.AnalysisItemFactory ~~~ This line actually runs fine so I know it at least exists. But I am definitely not using the proper methods below.

        'Set G1 = aiFact.AddItem("")
        'G1.Field("AI_PARENT_ID") = 1001 'Public
        'G1.Field("AI_TYPE") = "Graph"
        'G1.Field("AI_SUB_TYPE") = "Progress Graph"
        'G1.Field("AI_OWNER") = qcUserName.Value
        'G1.Field("AI_MODULE") = "requirement"
        'G1.Field("AI_NAME") = "test graph"

        'G1.Post

正如我前面提到的,所有这些脚本运行时都没有错误,但我在分析视图中看不到任何图形。我还注意到似乎没有"Name“或"Path”字段。

我看过这些表,似乎有“Analysis_Item_Folder”和“Analysis Items”表,所以可以通过OTA客户端来实现。有没有一个AnalysisItemFactory和谁可以请提供一个我正在寻找的脚本样本?

EN

回答 2

Stack Overflow用户

发布于 2015-09-08 22:37:10

this HP ALM forum entry的帮助下,我能够生成一份报告。正如论坛中提到的,它不是HP ALM的官方文档功能。因此,在未来,如果没有替换,它可能无法工作。请记住这一点。

如果论坛条目可能被删除,我将名为"delarosa62“的用户的答案复制到此处(复制日期2015/9/8):

嗨,MichaelMotes和其他社区成员。

我开发了一个VBA代码来自动生成仪表板标准报告。我得到了你提到的“成功的异常”。但是,我的报告不会在我的硬盘中生成。

我没有得到任何错误。我已将您的Visial Basic代码改编为使用OTA的VBA。我在VBA模块窗口的tools/reference选项中注册了otareport 1.0类型库和otaxml类型lib。

我将我的代码粘贴在下面,希望你们能给我一些关于这方面的见解。我没有收到任何错误。只是包含一个成功完成消息的异常。

代码语言:javascript
复制
Sub externalSTDReports()

    Dim reqFact  
    Dim reqFilter  
    Dim reqList      
    Dim gTDConn As Object  

    Set gTDConn = CreateObject("TDApiOle80.TDConnection")

    'QC Connection data    

    login_id = ActiveWorkbook.Sheets("CONFIG").Cells(9, 3).value  
    login_passwd = ActiveWorkbook.Sheets("CONFIG").Cells(10, 3).value  
    domain_name = ActiveWorkbook.Sheets("CONFIG").Cells(11, 3).value  
    project_name = ActiveWorkbook.Sheets("CONFIG").Cells(12, 3).value  
    server_name = ActiveWorkbook.Sheets("CONFIG").Cells(13, 3).value            

    gTDConn.InitConnectionEx server_name      
    gTDConn.login login_id, login_passwd      
    gTDConn.Connect domain_name, project_name

    Set Rep = New OTAREPORTLib.Reporter            
    Call Rep.SetConnection(gTDConn, 0)     ' This line  doesn´t return errors. But I don´t know if it is correct                      
    Set RepConf = Rep.ReportConfig                        
    Rep.File = "C:\Users\cris\AppData\Local\Temp\TD_80\4c223b57\Reports\std.html"            
    Rep.Template = "C:\Users\cris\AppData\Local\Temp\TD_80\4c223b57\Reports\default.xsl"
    '******************************************************** filter Reports    

    Set aiFact = gTDConn.AnalysisItemFolderFactory  
    Set reportFact = gTDConn.AnalysisItemFactory
    Set aiFilter = aiFact.Filter  
    Set aiList = aiFilter.NewList  
    Set anf = reportFact.Filter  

    Dim FilterStr As String       

    For Each ai In anf.NewList            
        reportName = ai.Name       
        reportID = ai.id           

        If reportName = "tmp" Then                 
            FilterStr = ai.Field("AI_FILTER_DATA")             
            RepConf.Filter = FilterStr                

            On Error Resume Next 
            'i is empty. Don´t know why

            i = Rep.Generate(0, 0)                 MsgBox i & " --- " & Rep.File                         Debug.Print Rep.File      '--------------------         Exit For      
        End If
    Next

    Set gTDConn = Nothing   
    Set aiFact = Nothing   
    Set reportFact = Nothing
    Set aiFilter = Nothing     
    Set aiList = Nothing    Set anf = Nothing
    Set RepConfig = Nothing
    Set Rep = Nothing          

    MsgBox "END "
End Sub    'Pls HELP!!
票数 1
EN

Stack Overflow用户

发布于 2019-03-19 02:27:20

图表可以在分析文件夹下生成,这是一个有点过程,因为你需要一个良好的数据库,XML和OTA API的理解。没有可用于构建图形的直接API,我已经创建了以下代码示例

https://github.com/sumeet-kushwah/ALM_OTA_Wrapper/blob/master/ALM_Wrapper/Analysis.cs

检查以下函数

CreateDefectAgeGraph

CreateExcelReport

CreateDefectSummaryGraph

CreateSummaryGraph

这些函数是从下面的测试中调用的

https://github.com/sumeet-kushwah/ALM_OTA_Wrapper/blob/master/ALM_Wrapper_Tests/ALM_Wrapper_Test.cs

查找测试函数

Test_AnalysisAndDashboardScripts

如果您对此过程有任何疑问,请与我联系。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32055587

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档