當前位置:首頁 » 服務存儲 » 在qtp中存儲對象的地方是
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

在qtp中存儲對象的地方是

發布時間: 2022-02-11 20:56:20

『壹』 qtp對象庫里的東西怎麼來的,主要有哪幾種生成方式

怎麼來的我不知道,QTP自己根據對象的屬性、值、方法等等封裝的存放到對象庫中的,一般都是用的封裝的對象,當然有時也用自身介面的對象。1、生成方式有錄制,這不用說也知道;2、還有就是Object spy 工具從頁面抓取;3、接下來就是自己寫對象的屬性和值,也就是自己創建了,一般不建議這么做

『貳』 qtp獲取對象

不知道這樣會不會報錯。我覺得應該會。因為QTP識別對象時,不能唯一識別(如果設置了智能識別為false,這樣會報錯;如果設置智能識別為true,則會根據它的選擇給你返回一個對象,不能根據用戶的選擇來定位)
我覺得可以利用set objs=document.getElementsByTagName("...");然後利用循環,長度使用objs.length讀取,判斷objs.innerTEXT="重慶分公司"來計算個數。
如果有其他法子的話,希望樓主可以共享下。謝謝 你要知道這個的確看起來的東西

『叄』 QTP的對象庫到底有什麼作用呢沒有對象庫管理又有什麼影響呢求解

對象庫中可以存放不易識別的對象屬性,下次回放時自動運行腳本,不至於每次都在此對象時腳本停止運行。
這是其一好處。

『肆』 QTP支持兩種類型的對象庫是什麼

個軟體開發過程,需要經歷各類分析、測試計劃、框架及測試用例設 計、腳本開發、測試執行、提交報告、腳本維護、版本控制等一系列過程。 4.QTP 操作步驟: 錄制腳本-->編輯腳本-->調試腳本-->運行腳本-->分析測試腳本 5.自動測試適用的場合: 回歸測試、更多更頻繁的測試、手工測試無法實現的工作、重復性很強的操作、跨平台產品 的測試。 6.手工測試: 手工測試比自動測試發現的缺陷更多、 對測試質量的依賴性極大、 測試自動化可能會制約軟 件開發、工具本身並不具有想像力、人工測試比測試工具優越可以處理意外事件。 7.自動化測試工具的分類: 功能測試工具、性能測試工具、測試管理工具、其他測試工具。 8.QTP 的安裝插件: 默認提供 Web,ActiveX 和 VB 。 (QTP 及其插件安裝僅支持英文路徑。 ) 9.QTP 工作原理: QTP-->錄制-->QTP 記錄-->回放-->對比-->結果。 10.3 種錄制模式 (1)正常錄制模式:QTP 默認的錄制模式,直接對對象的操作; (2)模擬錄制模式:錄制了所有鍵盤和滑鼠的精確操作; 優點:錄制正常錄制模式不能錄制到的動作; 缺點:錄制腳本比較大,不可以由 QTP 編輯; (3)低級錄制模式:錄制 QTP 不能識別的環境或對象; 優點:記錄坐標的位置,可以對 QTP 不支持的對象進行坐標記錄。 11.QTP 回放機制 回放機制是封裝對象與真實對象的匹配; QTP 根據腳本中記錄下來的對象操作的順序進行回 放。 12.QTP 的兩種視圖 Keyword View(關鍵字視圖)、Expert View(專家視圖) 13.對象庫定義: QuickTest 測試對象庫是類或對

『伍』 QTP如何判斷對象是否存在

1. 判斷getElementById("")獲取的對象存不存在
方法一:可以通過錯誤處理來實現
On Error Resume Next
getElementById("")的操作
(注意:如果是用set obj = object. getElementById("") 時,即使 object. getElementById("") 為空,也會返回一個nothing值,因此,Err.Number會等於0。因此如果是直接判斷對象的話,還需要和 is nothing配合使用。)
(而如果直接是對象的相關操作的話,就不用和is nothing結合使用了。如使用value = object. getElementById("") 如果對象不存在,Err.Number就會不等於零了,因此可以直接判斷了。 )
On Error GoTo 0
If Err.Number < 0 Then處理Err.ClearEnd If方法二:用is nothing來判斷
注意,不能用is not nothing,否則如果對象為空則會報錯。
If object. getElementById("") is nothing Then處理End If方法三:用Err 和is nothing結合來判斷
最好是編寫獨立的函數,這樣有關Err的配置就不會影響到大程序中有關Err的設置了。
可以用Err來保證判斷不會報腳本錯誤,用is nothing來判斷對象不為空。
2. QTP內置支持的對象存不存在判斷
對於QTP內置支持的對象(如,Browser)不能使用is nothing來判斷是否存在,因為即使對象不存在,也會返回一個值的。
例:Set objBrowser = Browser(「name:=不存在」)
即使Browser是不存在的,也會返回一個「CoBrowser」對象,這時objBrowser就不會等於nothing了。因此objBrowser is nothing 的值會永遠為false的。達不到判斷對象是否存在的效果。
解決方法:使用Exist,如下:
Dim chkBrowser

『陸』 怎樣使qtp腳本語言不用坐標形式標識

QTP支持錄制和回放的功能。錄制產生的腳本,可以拿來作為自己編寫腳本的template。錄制時,還支持一種lower level 功能,這個對於QTP不容易識別出來的對象有用,不過它是使用坐標來標識的,對於坐標位置頻繁變動的對象,採用這種方式不可行。另外,QTP的編輯器支持兩種視圖:Keyword模式和Expert模式。Keyword模式想法是好的,提供一個 描述近似於原始測試用例的、跟代碼無關的視圖(我基本很少用,除了查看、管理當前test中各個action的完整流程),而Expert就是代碼視圖,一般編寫腳本都在這個區域。
4)一個有用的工具:Object Spy,可以用來查看Run-time object和Test object屬性和方法。
5)QTP通過三類屬性來識別對象:a)Mandatory; b)Assistive; c)Ordinal identifiers。大部分情況下,通過對象的一些特定屬性值就可以識別對象(類型a)。這些屬性可以通過Tools->Object Identification 定義。
6)Object Repository(OR)是QTP存儲對象的地方。測試腳本運行後,QTP根據測試腳本代碼,從這個對象庫中查找相應對象。每個Action可以對應有一個或者多個OR,也可以設置某個OR為 sharable的,這樣可以供其他Action使用。注意,使用QTP錄制功能時,默認將被測對象放在local OR中,可以通過 Resources->Object Respository,選擇Local查看。

『柒』 如何管理QTP中的對象庫

使用QTP錄制一些腳本再回放,這不難,難的是一個測試團隊共同開發腳本,並能不斷的完善腳本,創建一個結構化的自動測試腳本體系。這篇文章重點討論的是,如何管理QTP的對象倉庫,以便能讓對象倉庫易於維護、管理。如果只是簡單的錄制、回放腳本,可能感覺不到對象倉庫的存在。但是要做到QTP腳本的結構化管理,就必須對QTP的對象倉庫進行嚴格的管理。在實際工作中我們發現,QTP腳本做好後絕不是一成不變的,而是隨著需求和頁面的變化,需要不斷修改的。如果每次修改腳本的時候,都重新錄制腳本,成本極高,所以最有效的方法是,先修改對象倉庫,然後修改腳本,以適應新的系統。如果對象倉庫里的管理比較混亂的話,修改腳本時就會遭受地獄般的痛苦,比如n多對象全堆在一起根本理不出頭緒,對象的命名不知所雲,找不到自己需要的對象等等。下面我們講一下如何管理對象倉庫,避免這些問題。先介紹一下對象倉庫中的對象層次,主要分為3個層次1、Browser瀏覽器2、Page頁面3、頁面中的各種對象,比如Link、ButtonBrowser對應的是已經打開的IE窗口對象,Page對應的是不同的網頁,比如登錄首頁是一個Page,登錄成功後跳轉到我的淘寶頁面,這就是另一個Page.而頁面中的各種對象就比較好理解了,圖片、按鈕、鏈接都是對象。了解了對象層次,我們再講一下命名。如果QTP在錄制過程中自動記錄對象,命名是非常亂的,缺乏邏輯性,經常看到一個Browser下面有n多「淘寶網_1」、「淘寶網_2」這樣的Page,這對我們以後的管理非常不利。與其修改這些命名,我們不如用一種思路更清晰的方式,手動添加對象。QTP中有一個工具實現了對象倉庫的管理,Object Repository Manager,我們用它來添加對象。操作很簡單,直接點擊toolbar中的Add Object按鈕,然後在web上點擊你需要添加的對象即可,添加過後再修改名稱。更新對象也比較簡單,先選中需要更新的對象,然後點擊Update from Application即可。這項工作其實可以在系統頁面出來以後就開始做,我們一邊進行手工測試,一邊把對象添加起來,為後面的腳本開發做准備。這時暫時不製作腳本。總結一下,對象倉庫的管理要滿足以下幾個原則: 1、每個Browser下的Page不要太多,最好不要超過5個,即使我們的系統都在同一個IE窗口下(沒有彈出新IE),我們也可以分幾個Browser管理,把業務上關聯較強的幾個Page放在一個Browser下; 2、每個對象都按照所代表的業務屬性命名,最好用中文,不要出現一些難理解的字元,比如abc這樣的。3、盡量避免在一個tsr文件中堆放過多的對象,最好根據業務,把對象分為幾個tsr文件保存。這里沒有統一標准,以每個tsr文件結構清晰為宜。現在我們完成了對象倉庫的整理,好,可以開始製作腳本了。

『捌』 如何查看QTP對象的屬性列表

查看QTP對象的屬性列表方法有兩個,以下分別說明。
方法一:對象倉庫綠色加號圖標
通過單擊"錄制"按鈕,將對象錄制到對象倉庫中,依此單擊"Resources"-->"Object Repository"菜單項,
系統彈出"Object Repository-All Object Repositories"對話框,單擊左側對象層級目錄節點中指定的對象節點,在右側對象屬性區域,點擊綠色加號按鈕,
系統彈出"Add Properties"對話框,屬性列表區域列舉屬性信息,
方法二:QTP中的工具ObjectSpy
可以依此單擊菜單項"Tools"-->"Object Spy...",
或者在工具欄中單擊帶禮帽小人圖標按鈕,
彈出"Object Spy"對話框,
例如,需要獲取如Flight按鈕對象的屬性,具體操作為,先單擊小手圖標按鈕,游標變為小手形狀,只能顯示當前窗口小手游標所處位置對象的屬性,如果需要顯示非當前窗口對象屬性,需要按住鍵盤ctrl鍵,此時游標從小手形狀變回箭頭形狀,直到要識別的對象顯示到當前頁面,方可停止按住鍵盤ctrl鍵,然後游標由箭頭再次變為小手形狀,此時再將小手游標移至待識別的Flight按鈕對象處,然後單擊該Flight按鈕對象處,即可顯示該對象的屬性信息,詳見。

『玖』 qtp對象倉庫的作用和分類是什麼

QTP
Object
Repository的作用,簡單的來說,就是儲存QTP各Object以及其識別屬性,從而在被測應用程序中找到對應的唯一的對象。可以從QTP的對象識別機制來理解。
舉個例子:
Browser("Google").Page("Google").WebEdit("q").Set
'Bai'
在執行這句代碼時,QTP先會去對象庫中找Class為Browser且Name為Google的對象,然後在該Browser的子對象中找Class為Page且名字為Google的對象,同樣再找到名叫q的WebEdit對象,這樣就完成了第一步:在對象庫中找到代碼所對應的對象;
然後再根據對象庫中該對象(包括其所有父對象)的屬性去當前應用程序中去尋找匹配的對象,次序也是Browser->Page->WebEdit;最後一步就是在應用程序中執行QTP封裝的Set操作。
至於分類,QTP8.2及以前版本可以分為普通的對象庫(只供當前Action使用)與共享對象庫(可以供整個Test公用);而9.0及以後的版本取消了共享對象庫的概念,增加了關聯對象庫,及可以將普通的對象庫導出為tsr文件,通過對象庫管理器進行合並等等操作(Optional),可加入到Test的關聯對象庫文件中,以供Test指定的某個或多個Action使用。關聯對象庫可以和Action自身的本地對象庫同時使用,可以更靈活的滿足各種需要。

『拾』 QTP錄制完腳本後,測試的時候總是顯示某個地方對象不可見

在腳本運行停止的地方添加斷點,HighLight看看當前對象在界面中是否存在