本文章歡迎轉載,但請注明出處:
http://www.anti-gravitydesign.com/html/84/n-160684.html 借項目的空擋期來總結一下自己學習、使用QTP的一下方法,以及使用
CC">過程中的一些心得。以下內容僅是針對QTP一些基本
知識以及如何學習QTP做介紹,作為自己的一個階段總結并和QTP愛好者、學習者進行交流、學習。對于QTP高手可以忽略本內容。
QTP是目前市場上占有率最高的一款自動化
測試工具,也是每一位測試工作者最想掌握的工具之一。QTP目前最主要的應用是用于
回歸測試、版本驗證測試階段。它本身是針對
系統界面上的元素進行識別、操作,達到測試系統功能的目的。因此,
自動化測試啟動的時機或者說QTP開始介入的時機就要受到系統
開發進度的制約。只有當系統的界面元素不會頻繁的變化、系統功能基本穩定,已經通過一至兩輪的
手工測試,確定系統不會存在重大
缺陷時,才可以考慮自動化的實施。這里說的實施主要側重
腳本的開發,其他如
測試方案、開發規范、
參數定義等內容可以提前制定。有的個別大公司可能介入會比較早,界面出來,就開始著手腳本的開發。但這種方式要有嚴格的開發、
測試規范與之配套,并且每一環節的人員嚴格按規范、規則進行,否則腳本后期的維護將是非常頭疼的一件事情。
L) ` n. L' J& Q. ^( R& r7 G' Z9 g! [- H. q0 k一、 第一次與QTP傷心的親密接觸
; p1 g t- | T* Q) { 第一次與QTP的親密接觸是在07年,當時進入一家做GIS(地理信息系統)系統的公司。當時公司想要引入自動化測試,由副總牽頭,測試經理負責我和另一位MM具體實施。這也具備了實施自動化測試的一個輔助條件,公司高層的重視與支持。但對于沒有相關
技術積累,相關人員技術缺乏的條件下,為我這次自動化測試的
失敗埋下了伏筆。最終這次確實是一次失敗的經歷,失敗的其他原因略過,接下來主要說一下過程中我是怎么學習QTP的。
QTP的運行原理、對象識別機制
2 m. Q! W0 A* T3 y8 }3 F# ^: Y5 X; x: s 作為一個QTP的使用者,首先要搞明白它的運行原理,識別對象的機制。這是以后掌握其他技術的根本,不管是
錄制方式還是手寫代碼這個都是非常重要的。
2 x- F! z" h7 i! Q- y$ AQTP是一款基于語言的工具,而
LR是基于協議的。具體說,就是QTP針對不同的語言提供不同插件去識別對象,默認提供ActiveX、Visual Basic、Web插件,其他.net、
java插件單獨安裝。每一種插件提供了針對不同對象的識別機制,也就是提供了對象默認的識別屬性。所以在運行QTP前,首先確定加載哪個addin,否則對象就不能正確識別,出現很多奇怪的問題。不加載正確的addin,最直接就是表現在代碼上。
' A0 F1 l. j1 V& f: j以下是點擊google主頁上的搜索按鈕的區別:
加載
web插件的正確代碼:Browser("Google").Page("Google").WebButton("Google 搜索").Click
4 ~ \6 e' A- J, ?% [2 ~ 不加載web插件:Window("
Windows Internet Explorer").WinObject("Internet Explorer_Server").Click 547,217