在python脚本中未检测到OTA.dll的com对象

时间:2014-03-12 13:01:48

标签: python

我只想使用python中的OTA.dll COM对象从QC中获取数据。 我正在使用Pycharm IDE。但由于OTA.dll未被识别,所有Quality Center对象都会被忽略。请在下面找到我的代码:

import os
import pywintypes
import win32com
from win32com.client import Dispatch, gencache, DispatchWithEvents, constants


from datetime import datetime
#from bs4 import BeautifulSoup
import re

qcServer = "<QC_address>"
qcUser = "<uname>"
qcPassword = "<pwd>"
qcDomain = "<Domain>"
qcProject = "Project"
#qcTestCasePath = "Path\to\test\case"
#qcTestCaseNode = "test case node name"

# test case status names in hpqc
hpqc_status_pass = 'Passed'
hpqc_status_fail = 'Failed'
hpqc_status_no_run = 'No Run'
hpqc_status_not_completed = 'Not Completed'
hpqc_status_na = 'N/A'

# login to hpqc


td = win32com.client.Dispatch("TDApiOle80.TDConnection")
td.InitConnectionEx(qcServer)
td.Login(qcUser,qcPassword)
td.Connect(qcDomain,qcProject)
if td.Connected:
    print("Logged in to " + qcProject)
else:
    print("ERROR: Connect failed to " + qcProject)

但是当我使用Pycharm运行代码时,它给出了以下错误:

C:\Python27\python.exe C:/Users/masooa/workspace/TestPythonProject/src/QC.py
Traceback (most recent call last):
  File "C:/Users/masooa/workspace/TestPythonProject/src/QC.py", line 29, in <module>
    td = win32com.client.Dispatch("TDApiOle80.TDConnection")
  File "C:\Python27\lib\site-packages\win32com\client\__init__.py", line 95, in Dispatch
    dispatch, userName = dynamic._GetGoodDispatchAndUserName(dispatch,userName,clsctx)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 114, in _GetGoodDispatchAndUserName
    return (_GetGoodDispatch(IDispatch, clsctx), userName)
  File "C:\Python27\lib\site-packages\win32com\client\dynamic.py", line 91, in _GetGoodDispatch
    IDispatch = pythoncom.CoCreateInstance(IDispatch, None, clsctx, pythoncom.IID_IDispatch)
pywintypes.com_error: (-2147221164, 'Class not registered', None, None)

Process finished with exit code 1

请有人帮助我。如果有人能告诉我如何解决,我真的很感激。

注意:在PythonWIn中,在工具选项卡中,然后选择Com浏览器选项,列出了OTA库,但我正在使用的python或IDE没有检测到它。

0 个答案:

没有答案