从外部Python脚本将测试用例结果添加到质量中心运行中
我想尝试从一个在质量中心外部的Python脚本中,给一个测试集里的测试用例添加所有步骤的详细信息,比如预期结果、实际结果、状态等等。 我已经做到这里了(下面是代码),但我不知道怎么添加步骤的预期结果和实际结果。如果有人知道怎么做,请帮帮我!!另外,我不想要任何QTP的解决方案。谢谢, 代码-
# Script name - add_tsrun.py
# C:\Python27\python.exe
# This script lives locally on a Windows machine that has - Python 2.7, Win32 installed, IE8
# Dependencies on Windows Machine - Python 2.7, PythonWin32 installed, IE8, a QC Account, connectivity to QCServer
import win32com.client, os
tdc = win32com.client.Dispatch("TDApiOle80.TDConnection")
tdc.InitConnection('http://QCSERVER:8080/qcbin')
tdc.Login('USERNAME', 'PASSWORD')
tdc.Connect('DOMAIN_NAME', 'PROJECT')
tsFolder = tdc.TestSetTreeManager.NodeByPath('Root\\test_me\\sub_folder')
tsList = tsFolder.FindTestSets('testset1')
ts_object = tsList.Item(1)
ts_dir = os.path.dirname('testset1')
ts_name = os.path.basename('testset1')
tsFolder = tdc.TestSetTreeManager.NodeByPath(ts_dir)
tsList = tsFolder.FindTestSets(ts_name)
ts_object = tsList.Item(1)
TSTestFact = ts_object.TSTestFactory
TestSetTestsList = TSTestFact.NewList("")
ts_instance = TestSetTestsList.Item(1)
newItem = ts_instance.RunFactory.AddItem(None) # newItem == Run Object
newItem.Status = 'No Run'
newItem.Name = 'Run 03'
newItem.Post()
newItem.CopyDesignSteps() # Copy Design Steps
newItem.Post()
steps = newItem.StepFactory.NewList("")
step1 = steps[0]
step1.Status = "Not Completed"
step1.post()
## How do I change the Actual Result??
## I can access the Actual, Expected Result by doing this, but not change it
step1.Field('ST_ACTUAL') = 'My actual result' # This works in VB, not python as its a Syntax error!!
Traceback ( File "<interactive input>", line 1
SyntaxError: can't assign to function call
希望这能帮助到你们。如果你知道怎么设置实际结果,请告诉我。谢谢, 阿米特
2 个回答
2
经过大量的谷歌搜索,我终于找到答案了 :)
很简单 -> 只需这样做:
step1.SetField("ST_ACTUAL", "my actual result") # Wohhooooo!!!!
如果上面的代码没有成功运行,可以尝试以下方法:
(OPTIONAL) Set your win32 com as follows- (Making ''Late Binding'')
# http://oreilly.com/catalog/pythonwin32/chapter/ch12.html
a. Start PythonWin, and from the Tools menu, select the item COM Makepy utility.
b. Using Windows Explorer, locate the client subdirectory (OTA COM Type Library)
under the main win32com directory and double-click the file makepy.py.
谢谢大家...
2
在Python中,
()
表示调用函数,而[]
表示索引和映射。
换句话说,你可能想要这样做:step1.Field['ST_ACTUAL'] = '我的实际结果'