从外部Python脚本向质量中心添加测试用例结果

从外部Python脚本向质量中心添加测试用例结果,python,hp-quality-center,Python,Hp Quality Center,我想尝试添加所有步骤详细信息-预期、实际、状态, 等等,从Python脚本为测试集的测试用例运行QC 住在质量中心外。 我已经来到这里(代码如下),我不知道如何添加 步骤预期和步骤实际结果。如果有人知道怎么做, 请帮帮我!!拜托,我不想要任何QTP解决方案。 谢谢 代码- #脚本名称-添加_tsrun.py #C:\Python27\python.exe #此脚本位于本地安装了-Python2.7、Win32和IE8的Windows计算机上 #对Windows机器的依赖关系-Python 2.7

我想尝试添加所有步骤详细信息-预期、实际、状态, 等等,从Python脚本为测试集的测试用例运行QC 住在质量中心外。 我已经来到这里(代码如下),我不知道如何添加 步骤预期和步骤实际结果。如果有人知道怎么做, 请帮帮我!!拜托,我不想要任何QTP解决方案。 谢谢 代码-

#脚本名称-添加_tsrun.py
#C:\Python27\python.exe
#此脚本位于本地安装了-Python2.7、Win32和IE8的Windows计算机上
#对Windows机器的依赖关系-Python 2.7,已安装PythonWin32,IE8,一个QC帐户,与QCServer的连接
导入win32com.client,操作系统
tdc=win32com.client.Dispatch(“TDApiOle80.TDConnection”)
tdc.InitConnection('http://QCSERVER:8080/qcbin') 
tdc.Login('用户名','密码')
tdc.Connect('域名','项目')
tsFolder=tdc.TestSetTreeManager.NodeByPath('Root\\test\u me\\sub\u 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_目录)
tsList=tsFolder.FindTestSets(ts\u名称)
ts_object=tsList.Item(1)
TSTestFact=ts_object.TSTestFactory
TestSetTestsList=TSTestFact.NewList(“”)
ts_instance=TestSetTestsList.Item(1)
newItem=ts_instance.RunFactory.AddItem(无)#newItem==Run对象
newItem.Status='不运行'
newItem.Name='run03'
newItem.Post()
newItem.CopyDesignSteps()#复制设计步骤
newItem.Post()
步骤=newItem.StepFactory.NewList(“”)
步骤1=步骤[0]
步骤1.状态=“未完成”
第1步:邮政()
##如何更改实际结果??
##通过这样做,我可以访问实际的、预期的结果,但不能更改它
step1.Field('ST_ACTUAL')='My ACTUAL result'#这在VB中有效,而不是python,因为它是一个语法错误!!
回溯(文件“”,第1行
SyntaxError:无法分配给函数调用
希望这对你们有帮助。如果你们知道答案的话 实际结果,请帮助我,让我知道。谢谢, Amit作为:

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

换句话说,您可能希望执行
step1.Field['ST_ACTUAL']=“我的实际结果”

,如下所示:

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


因此,换句话说,您可能需要执行
step1.Field['ST_ACTUAL']=“我的实际结果”

在大量谷歌搜索后找到答案:)

简单->只需执行以下操作:

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.

谢谢大家……

经过大量的谷歌搜索后找到了答案:)

简单->只需执行以下操作:

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.

谢谢大家…

可能的副本请更新原件,而不是问新问题。如果需要,我可以删除此内容并更新原件。请让我知道,我会做它可能的副本,请更新原始的,而不是问一个新的问题。如果你想我可以删除这个,并更新原始打开。请让我知道,我会做的马特,是的!!我确实想这样做-step1.Field['ST_ACTUAL']='My ACTUAL result',但是在VB中,'Field'是一个属性,而在Python中'Field'是一个方法。因为在Python中,我们不能为函数调用赋值,所以我看不到任何答案。这就是问题所在,我真的不知道该怎么解决?谢谢,Amitit听起来像
Field
不应该是python类中的方法。这个数据结构包含什么-键和值之间的映射?在这种情况下,您可以使用一个。或者如果您需要使用其他内容,而不是编写
step.Field[key]=value
,只需添加一个类似
step.add\u Field(key,value)
的函数,如果我不清楚,我真的很抱歉。方法“Field”来自来自“tdc=win32com.client.Dispatch”(“TDApiOle80.TDConnection”)“的COM对象。该字段方法属于QC API,因此无法重写或修改。正如您所知,字段接受一个名为key的参数(例如ST_ACTUAL)并返回值(字符串)。这里没有字典!!嘿,马特,是的!!我确实想这样做-step1.Field['ST_ACTUAL']='My ACTUAL result',但是在VB中,'Field'是一个属性,而在Python中'Field'是一个方法。因为在Python中,我们不能为函数调用赋值,所以我看不到任何答案。这就是问题所在,我真的不知道该怎么解决?谢谢,Amitit听起来像
Field
不应该是python类中的方法。这个数据结构包含什么-键和值之间的映射?在这种情况下,您可以使用一个。或者如果您需要使用其他内容,而不是编写
step.Field[key]=value
,只需添加一个类似
step.add\u Field(key,value)
的函数,如果我不清楚,我真的很抱歉。方法“Field”来自来自“tdc=win32com.client.Dispatch”(“TDApiOle80.TDConnection”)“的COM对象。该字段方法属于QC API,因此无法重写或修改。正如您所知,字段接受一个名为key的参数(例如ST_ACTUAL)并返回值(字符串)。这里没有字典!!