gpt4 book ai didi

vba - Excel VBA 代码在 QC 测试用例中附加文件

转载 作者:行者123 更新时间:2023-12-04 21:05:13 27 4
gpt4 key购买 nike

我有一个工具可以捕获我们在工作场所测试的应用程序的屏幕截图。现在,一旦我完成了对特定测试用例或场景的测试,我们就会将我们手动拍摄的屏幕截图附加到 HP 质量中心。

我想自动化这个并制作我的工具来将 word 文档上传到 QC 测试实验室中的测试。这可能吗?如果是,我们如何在 Excel VBA 中做到这一点?

我们需要执行的操作如下:

  • 使用登录凭据、域和项目详细信息连接到 QC 项目
  • 从本地文件夹中选择一个文件
  • 将文件上传到 QC 测试实验室,具体测试用例

  • 我使用了下面的代码,但在该代码中出现错误。我在下面的代码中标记了它,请检查以下内容:
    Dim intTestID, FldPath, TestSetName, i
    Dim TestSetFact, tsTreeMgr, tSetFolder, TestSetsList, theTestSet
    Dim TestSetIdentifier, TSTestFact, TestSetTestsList, testInstanceF, aFilter
    Dim lst, tstInstance

    intTestID = "8968"

    FldPath = TextBox3.Text '"Root\ProjFold\Release1\BRD"
    TestSetName = ComboBox3.Text '"BRD" '

    Set Connection = CreateObject("TDApiOle80.TDConnection")
    Connection.InitConnectionEx Sheet2.Range("B1").Value2
    Connection.Login TextBox1.Text, TextBox2.Text
    Connection.Connect ComboBox1.Text, ComboBox2.Text

    Set TestSetFact = Connection.TestSetFactory
    Set tsTreeMgr = Connection.TestSetTreeManager

    Set tSetFolder = tsTreeMgr.NodeByPath(FldPath)
    Set TestSetsList = tSetFolder.FindTestSets(TestSetName)
    Set theTestSet = TestSetsList.Item(1)
    TestSetIdentifier = theTestSet.ID
    i = 0
    Set TSTestFact = theTestSet.TSTestFactory
    Set TestSetTestsList = TSTestFact.NewList("")

    Set testInstanceF = Connection.TSTestFactory
    Set aFilter = testInstanceF.Filter

    aFilter.Filter("TC_TEST_ID") = intTestID
    Set lst = testInstanceF.NewList(aFilter.Text)
    Set tstInstance = lst.Item(1) <---------------- getting error here
    MsgBox (tstInstance.Field("TS_Name"))
    'tstInstance.Status = "Failed"
    'tstInstance.Field("TC_STATUS") = Item1.Status '"Passed"
    'tstInstance.Post
    Dim RunF, runName, NewRun, runStepF, runlst, Item1, runStep2

    MsgBox (tstInstance.Field("TS_Subject"))
    Set RunF = tstInstance.RunFactory
    runName = "Run_" & Month(Date) & "-" & Day(Date) & "_" & Hour(Now) & "-" & Minute(Now) & "-" & Second(Now)
    Set NewRun = RunF.AddItem(Null)
    NewRun.Status = "Passed"
    NewRun.Name = runName
    NewRun.Post
    NewRun.CopyDesignSteps
    NewRun.Post
    Set runStepF = NewRun.StepFactory
    Set runlst = runStepF.NewList("")
    For Each Item1 In runlst
    Set runStep2 = Item1
    runStep2.Status = "Passed" '
    runStep2.Field("ST_ACTUAL") = "As Expected"
    runStep2.Post
    Next
    'tstInstance.Refresh
    tstInstance.Status = "Failed"

    tstInstance.Post
    Connection.DisconnectProject
    Connection.ReleaseConnection
    'Set QC = Nothing
    Set Connection = Nothing

    最佳答案

    发生错误是因为对象数组未返回。您需要检查 Filter在假设 lst.Item(1) 之前给你一个结果列表存在。

    例如:

    If lst.Count > 0 Then Set tstInstance = lst.Item(1)

    关于vba - Excel VBA 代码在 QC 测试用例中附加文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23870127/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com