Automation 将测试用例的通过/失败从QTP写入QC

Automation 将测试用例的通过/失败从QTP写入QC,automation,qtp,hp-quality-center,hp-uft,Automation,Qtp,Hp Quality Center,Hp Uft,我的目标是最终使用QTP将测试用例结果从Excel写回QC。我设计了一个自动化框架,但需要将这些结果传递到质量中心的相应测试用例中。我有这段代码,它在“tcase(j).Field(“TC_STATUS”)=test_STATUS”行给我一个“一般运行错误” 我调试了它,它看起来工作良好,直到那一行。有什么建议吗 test_set_name = "test" test_name = "test1" test_status = "FAILED" Call connect_to_QC()

我的目标是最终使用QTP将测试用例结果从Excel写回QC。我设计了一个自动化框架,但需要将这些结果传递到质量中心的相应测试用例中。我有这段代码,它在“tcase(j).Field(“TC_STATUS”)=test_STATUS”行给我一个“一般运行错误”

我调试了它,它看起来工作良好,直到那一行。有什么建议吗

test_set_name = "test" 
test_name = "test1" 
test_status = "FAILED" 


Call connect_to_QC()

Call update_test_status(test_set_name,test_name ,test_status)

'Closing the TD connection
udv_tdc.releaseConnection



Function connect_to_QC

   qcUser = ""
   qcPassword = ""
   qcDomain = ""
   qcProject = "Web_"
   folder_path="Root\" ' the path of the folder which contains your test set
   udv_qcServer = "<server:port/qcbin>"

   Set udv_tdc = CreateObject("TDApiOle80.TDConnection")
   'Initialise the Quality center connection
   udv_tdc.InitConnectionEx udv_qcServer

   'Loging the username and password
   udv_tdc.Login qcUser, qcPassword

   'connecting to the domain and project
   udv_tdc.Connect qcDomain, qcProject

End Function

Function update_test_status(test_set_name, test_name,test_status)

    folder_path="Root\EMS - Engagement Management System\EMS Test Team\EMS - Work Source\" ' the path of the folder which contains your test set

   set udv_tdc = Qcutil.QCConnection

   Set TSetFact = udv_tdc.TestSetFactory
   Set tsTreeMgr = udv_tdc.TestSetTreeManager
   Set TestSetFolder1=tsTreeMgr.NodeByPath(folder_path)   
   set tsff = TestSetFolder1.TestSetFactory.Filter
   tsff.Filter("CY_CYCLE")= test_set_name

   set tsl = tsff.NewList()

   If tsl.count = 0 Then
      Print "Test set with the name " & test_set_name & " is not found "
   End If

   For i=1 to tsl.count

      Set ts = tsl.Item(i)
      Set test_case_filter = ts.TSTestFactory.Filter
      filter_string= Chr(34) & "*" & test_name & "*" &Chr(34)
      test_case_filter.Filter("TS_NAME")=filter_string
      Set tcase=test_case_filter.NewList()

      If tcase.count = 0 Then
         Print "Test case with the name " & test_name & " is not found "
      End If

      For j=1 to tcase.count
         tcase(j).Field("TC_STATUS")= test_status
         tcase(j).Post
      Next   ' End of test CASE loop

   Next   'End of test SET loop

End Function
test\u set\u name=“test”
test_name=“test1”
测试状态=“失败”
调用connect_to_QC()
调用更新测试状态(测试设置名称、测试名称、测试状态)
'关闭TD连接
udv_tdc.释放连接
功能连接到质量控制
qcUser=“”
qcPassword=“”
qcDomain=“”
qcProject=“网络”
folder_path=“Root\”包含测试集的文件夹的路径
udv_qcServer=“”
设置udv_tdc=CreateObject(“TDApiOle80.TDConnection”)
'初始化质量中心连接
udv_tdc.InitConnectionEx udv_qcServer
'登录用户名和密码
udv_tdc.Login qcUser,qcPassword
'连接到域和项目
udv_tdc.Connect qcDomain,qcProject
端函数
函数更新\测试\状态(测试\设置\名称、测试\名称、测试\状态)
folder_path=“Root\EMS-Engagement Management System\EMS Test Team\EMS-Work Source\”包含测试集的文件夹的路径
设置udv_tdc=Qcutil.QCConnection
设置TSetFact=udv_tdc.TestSetFactory
Set tsTreeMgr=udv_tdc.TestSetTreeManager
Set TestSetFolder1=tsTreeMgr.NodeByPath(文件夹路径)
设置tsff=TestSetFolder1.TestSetFactory.Filter
tsff.Filter(“周期”)=测试集名称
设置tsl=tsff.NewList()
如果tsl.count=0,则
打印“名为“&Test\u set\u name&”的测试集未找到”
如果结束
对于i=1到tsl计数
设置ts=tsl.项目(i)
设置test\u case\u filter=ts.TSTestFactory.filter
过滤器字符串=Chr(34)&“*”&测试名称&“*”&Chr(34)
test\u case\u filter.filter(“TS\u NAME”)=filter\u字符串
Set tcase=test\u case\u filter.NewList()
如果tcase.count=0,则
打印“名为”的测试用例,未找到测试名称
如果结束
对于j=1到tcase.count
tcase(j).字段(“TC_状态”)=测试_状态
tcase(j).邮政
下一个“测试用例循环结束”
下一个“测试集循环结束”
端函数

您是否能够访问测试实例的其他属性:在for循环中,是否可以打印出测试实例的名称(
print tcase(j).name
)?为什么不直接访问status属性(
tcase(j).status=test\u status
)?