[英]Adding testcase results to Quality Center Run from a outside Python Script
I want to try to add all the step details - Expected, Actual, Status, etc. to a QC Run for a testcase of a TestSet from a Python Script living outside the Quality Center. 我想尝试将所有步骤详细信息-预期,实际,状态等添加到质量中心外部的Python脚本的TestSet测试用例的QC运行中。 I have come till here (code given below) and I don't know how to add Step Expected and Step Actual Result.
我到这里为止(下面给出的代码),我不知道如何添加“预期的步骤”和“实际结果”。 If anyone knows how do it, please help me out!!
如果有人知道怎么做,请帮帮我! Please, I don't want any QTP solutions.
拜托,我不要任何QTP解决方案。 Thanks, Code-
谢谢,代码-
# 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
Hope this helps you guys out there. 希望这对你们有帮助。 If you know the answer to set the Actual Result, please help me out and let me know.
如果您知道设置“实际结果”的答案,请帮帮我,让我知道。 Thanks, Amit
谢谢阿米特
As Ethan Furman answered in your previous question : 正如Ethan Furman在您先前的问题中回答的那样 :
In Python
()
represent calls to functions, while[]
represent indexing and mapping.在Python中,
()
代表对函数的调用,而[]
代表索引和映射。
So in other words, you probably want to do step1.Field['ST_ACTUAL'] = 'My actual result'
因此,换句话说,您可能要执行
step1.Field['ST_ACTUAL'] = 'My actual result'
Found the answer after a lot of Google Search :) 经过大量Google搜索后找到了答案:)
Simple -> Just do this: 简单->只需执行以下操作:
step1.SetField("ST_ACTUAL", "my actual result") # Wohhooooo!!!!
If the above code fails to work, try to do the following:- 如果以上代码无法正常工作,请尝试执行以下操作:
(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.
Thank you all... 谢谢你们...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.