0

我想尝试将所有步骤详细信息 - 预期、实际、状态等添加到质量中心之外的 Python 脚本的测试集测试用例的 QC 运行中。我来到这里(代码如下),我不知道如何添加预期步骤和实际结果。如果有人知道怎么做,请帮帮我!!拜托,我不想要任何 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

希望这对你们有帮助。如果您知道设置实际结果的答案,请帮助我并告诉我。谢谢,阿米特

4

2 回答 2

2

正如Ethan Furman 在您之前的问题中回答的那样

在 Python()中表示对函数的调用,同时[]表示索引和映射。

所以换句话说,你可能想要做step1.Field['ST_ACTUAL'] = 'My actual result'

于 2011-10-16T16:34:42.897 回答
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.

谢谢你们...

于 2011-10-27T22:36:25.460 回答