python查看com組件方法(python編寫com組件)

本文目錄一覽:

python調用com,如何完成word表格操作

word中doc這個格式的文件是微軟特有格式,微軟沒有向外公開任何的api接口文檔,

只能通過微軟提供的OLE組件來提其COM接口,只要你的機器上安裝了Offices完整的辦公軟件,在安裝目錄下面有個MSWORD.OLB組件,導入這個即可。

1、相關操作Excel有MSPPT.OLB,EXCEL.exe等。

python為何多線程報錯,單線程沒問題

你這個是wmi在多線程中天生的問題,python的wmi的官方文檔中有說明,網頁鏈接這個地址中,你仔細看“Use WMI in a thread”這一小節。

但是那個解決方案不是很好用,有些問題上還是會報錯,推薦你用wmic,多線程中這個要好用很多。網頁鏈接

python如何調用ATL的COM組件

查到一點資料,鏈接放在附件里。是一個在Python中使用COM接口的小教程。

如何用python編寫com組件

可以,在vbs中用wshell.run執行腳本文件,前提是你系統中已部署好pyhton: Set oShell = WScript.CreateObject (“WSCript.shell”)oShell.run “s.py”Set oShell = Nothing

求教vbs調用python com組件的問題

這個與腳本部件.wsc文件 或是其他預言編寫的.dll文件一樣

要使用就要先註冊

目測VBS代碼沒有問題,如果沒有顯示函數和屬性應該是沒有寫入註冊表

如何構建基於Quality Center的Web服務

如何構建基於Quality Center的Web服務

目前各大公司都在開始嘗試構建符合自己公司業務需求的系統性測試平台。在最近很多次的由Infoq組織的Qcon和淘寶的技術嘉年華上,我們都可以看到來自百度,阿里,騰訊等大公司分享的他們內部的測試平台。

如何構建一個優秀的測試平台,在技術選型上我們基本是兩個方案,一個方案是集成現有的各個子的測試系統。在開源項目大行其道的今天,很多企業都在其內部採用了開源的測試工具,比如TestLink 這樣的測試管理工具,Mantis,Bugfree這樣的Bug管理工具,以及Fitnesse,Selenium這樣的自動化測試工具和框架。這類的測試工具的一個共通的特點是他們都是基於比較新的開發技術構建的,其次由於他們的開源的特點,我們也可以更具我們需要在源碼層面對他們進行修改。這一類的集成還是比較容易做的。第二個方案就是完全重新寫一套全新的測試平台,從測試管理,bug管理到case的執行層面都進行自己構建。這樣的方案的好處在於我們對於整個測試平台的控制力最大,但是相對的 ,對於我們測試團隊本身的開發架構能力的要求也是非常高的。一般的中小企業也很難有成本上的投入。

但是基於這兩個方案之外,我們還發現了一個目前在企業中存在一個孤島,就是目前大多數的企業還是在使用Quality Center 這樣的一套商業的測試管理軟件。QC是惠普公司推出的一套成熟的商業測試管理工具,覆蓋測試用例的管理,Bug的管理,測試資源的管理等功能,幾乎涵蓋了我們在測試工作中可能遇到的方方面面的問題。同時QC在系統集成上面,可以很好的和QTP和LoadRunner這樣兩個同門師兄弟進行集成。除此之外,我們就鮮有看到其他和QC進行集成的項目和工具了。

由於在構建符合我們自由需求的測試管理平台的時候,我們發現我們現有的大量的case是直接採用開源的自動化測試工具進行執行和管理的。同時我們也發現了我們的QC系統目前而言屬於一個擱置的狀態,當中也存放一些歷史的手工測試的case。出於一定的考慮,我們還是希望可以重新把QC納入到我們的日常工作中來,但是我們也希望可以很好的把QC和我們的現有的自動化測試框架進行集成。

QC提供了一套叫做OTA的API來允許外部的系統和QC進行集成。QC的API是完全基於VB6來構建的,記住是VB6,不是VB.net,所以這個完全是個老古董的技術了,估計目前很少有人會做VB的開發了。不過好在QC提供了一套COM組件來方面我們進行調用,所以我們就計劃構建一個基於QC的WebService,通過這個WebService來把QC和我們其他的項目進行集成,同時也把QC作為一個底層的存儲平台來存儲我們的Case的執行結果。

在技術的選型上,我們選擇使用Python來進行WebService的開發。採用Webpy這個輕量級的Web框架來做Http服務,同時我們採用了Python的Win32com模塊來方便我們直接通過Python的代碼來調用QC的COM組件裡面的相關方法。獲取QC的COM組件的方法非常簡單,只要你在瀏覽器訪問了Quality Center的頁面以後,就可以在installation drive:\Program Files\Common Files\Mercury Interactive\Quality Center裡面找到OTAClient.dll 。 我們不需要關注這個OTAClient.dll的路徑,因為Python的Win32Com的模塊會自動找到對應的DLL庫。這裡要提一點的是操作系統的影響。QC是基於32位的瀏覽器,所以我們的Python必須要使用32位的版本,同時也要安裝32位 版本的Win32Com模塊。否則我們會在調用COM組件的時候遇到問題。

……………………

查看全文請點擊下載:

解決了連接的問題以後,我們就可以很方便的使用QC的OTA的API來對QC進行操作了。整個QC的數據庫的架構相對比較複雜,這個我會在下一期的文章中來介紹。這裡我們來看一下如何通過一個TestSetID來獲取整個TestSet。

def get_testset(testsetid,testset_factory):

try:

testset = testset_factory.Item(testsetid)

return testset

except Exception,e:

print e

raise qcExceptions.TsInstanceException(“can’t get the tsinstance_list by setid = %s” % testsetid)

方法中的testset_factory是通過TDConnection來獲取的,表示的是一個TestSet的工廠對象,可以通過TestSetID來獲取一個TestSet。具體可以參考OTA的API參考文檔。

每一個執行的結果是保存在一個Run的實例裡面的,一個TestInstance可以有多個Run的實例對象。QC的API在一定程度上比較類似MySQL的API,在對於Test,Run這樣對象的更新是不會直接反映到QC的系統中去的,我們需要進行一個Post的提交的動作,這裡展示一個如何給一個TestInstance添加一個執行結果的方法。

_runFactory = tsinstance.RunFactory

_newRun = _runFactory.AddItem(None)

if tsinstance.ID in failcase_ids:

newRun.Status = QC_STATUS[1]

else:

newRun.Status = QC_STATUS[0]

_newRun.Name = tsinstance.TestName

_newRun.Post()

這裡要註明一下,QC的寫的操作是很耗時的,我們最初採用同步的方式進行工作,整個服務完全無法運作,後來我們發現,當我們的TestSet中有大量的Case的時候,整個寫QC的操作非常的緩慢。後來我們就採用了異步的方式,把讀寫的操作分離了。最後給大家看一個我們做的性能的測試,紅線的部分表示的是TestSet中有差不多1000個Case的狀態需要更新,藍色的部分表示只有10個Case需要更新。我們可以看到寫入QC的時間的消耗,單位是秒。

原創文章,作者:SLHPI,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/329884.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
SLHPI的頭像SLHPI
上一篇 2025-01-14 18:55
下一篇 2025-01-14 18:55

相關推薦

  • Python列表中負數的個數

    Python列表是一個有序的集合,可以存儲多個不同類型的元素。而負數是指小於0的整數。在Python列表中,我們想要找到負數的個數,可以通過以下幾個方面進行實現。 一、使用循環遍歷…

    編程 2025-04-29
  • 如何查看Anaconda中Python路徑

    對Anaconda中Python路徑即conda環境的查看進行詳細的闡述。 一、使用命令行查看 1、在Windows系統中,可以使用命令提示符(cmd)或者Anaconda Pro…

    編程 2025-04-29
  • Python計算陽曆日期對應周幾

    本文介紹如何通過Python計算任意陽曆日期對應周幾。 一、獲取日期 獲取日期可以通過Python內置的模塊datetime實現,示例代碼如下: from datetime imp…

    編程 2025-04-29
  • Python周杰倫代碼用法介紹

    本文將從多個方面對Python周杰倫代碼進行詳細的闡述。 一、代碼介紹 from urllib.request import urlopen from bs4 import Bea…

    編程 2025-04-29
  • Python中引入上一級目錄中函數

    Python中經常需要調用其他文件夾中的模塊或函數,其中一個常見的操作是引入上一級目錄中的函數。在此,我們將從多個角度詳細解釋如何在Python中引入上一級目錄的函數。 一、加入環…

    編程 2025-04-29
  • 蝴蝶優化算法Python版

    蝴蝶優化算法是一種基於仿生學的優化算法,模仿自然界中的蝴蝶進行搜索。它可以應用於多個領域的優化問題,包括數學優化、工程問題、機器學習等。本文將從多個方面對蝴蝶優化算法Python版…

    編程 2025-04-29
  • Python程序需要編譯才能執行

    Python 被廣泛應用於數據分析、人工智能、科學計算等領域,它的靈活性和簡單易學的性質使得越來越多的人喜歡使用 Python 進行編程。然而,在 Python 中程序執行的方式不…

    編程 2025-04-29
  • Python字典去重複工具

    使用Python語言編寫字典去重複工具,可幫助用戶快速去重複。 一、字典去重複工具的需求 在使用Python編寫程序時,我們經常需要處理數據文件,其中包含了大量的重複數據。為了方便…

    編程 2025-04-29
  • python強行終止程序快捷鍵

    本文將從多個方面對python強行終止程序快捷鍵進行詳細闡述,並提供相應代碼示例。 一、Ctrl+C快捷鍵 Ctrl+C快捷鍵是在終端中經常用來強行終止運行的程序。當你在終端中運行…

    編程 2025-04-29
  • Python清華鏡像下載

    Python清華鏡像是一個高質量的Python開發資源鏡像站,提供了Python及其相關的開發工具、框架和文檔的下載服務。本文將從以下幾個方面對Python清華鏡像下載進行詳細的闡…

    編程 2025-04-29

發表回復

登錄後才能評論