QTP無法識別物件的解決辦法

2021-08-26 03:56:25 字數 1671 閱讀 7752

對qtp無法識別物件的解決辦法很多,現使用到的有以下五種:

1.低階錄製(不建議使用)

2.虛擬錄製(慎重使用)

3.描述程式設計

4.物件對映

5.objectidentification

詳解1:低階錄製

automation->lowlevelrecording/anlogrecording,記錄螢幕的相對位置,維護性比較差

2:虛擬錄製

tools->virtual objects->new virtual object/virtual object manager

new virtual object:新建虛擬物件

virtual object manager:對已經建立的虛擬物件的管理

新建虛擬物件:new virtual object->next->選擇虛擬物件(object,button,table,list,check box,radio button)->next->mark object...(標記需要虛擬的物件)->next(標識所有出現的虛擬物件,請選擇「parent only」;僅標識一次出現的虛擬物件,請選擇「entire parent hierarchy";預設選擇「parent only」)->next(指定虛擬物件的名稱和集合)->完成

注:a:可以通過virtual object manage來管理(新增/刪除)虛擬物件

b:如果希望quicktest在錄製時識別虛擬物件,請確保清除「選項」對話方塊的「常規」選項卡中的「錄製時禁止識別虛擬物件」核取方塊(tools->options->general->uncheck(disable recognition of virtual objects while recording))

3:描述性程式設計

用描述性程式設計來優化指令碼時,剛開始有點麻煩,成型後可以解決很多實際問題,比如:控制項不識別,動態識別控制項等等。平時錄製指令碼時,qtp會自動生成乙個物件庫,來定位識別物件,如果物件庫管理不善,比如丟失等等意外潛在因素,會造成指令碼因物件無法識別而失敗;而描述性程式設計,直接用物件的唯一性屬性來定位物件,脫離了物件庫概念,解決了潛在因素,而且使用起來也很靈活,缺點是識別物件的速度比錄製識別物件的速度要慢很多。個人認為,有時候犧牲一些效能來提高穩定性是有必要的。

使用方法:

a:直接使用:browser("name:=***x").page("title:=***xx")....

browser("name:=***x","title:=***x",.....).page("title:=***xx","htm id:=***xx",...)....

b:間接使用

dim des

set des =description.create

des("name").value="***xx"

des("title").value="***x"

browser(des).page("title:=***xx","htm id:=***xx",...)....

具體在開發時使用哪種自己來排程,這裡需要注意的是,父物件描述化了,子物件可以隨便,但是子物件描述化了,父物件一定要描述化。

4:物件對映和objectidentification

tools->object identification->user-deined..(標準物件的對映)

->在這個介面上可以更改物件的識別屬性,可以解決一些物件不識別的問題,具體的可以試試

adb 不識別解決辦法

在 android 裝置的 linux 核心中把 usb 驅動的 pid vid 修改以後,也許之前的 adb 工具就不能識別裝置了,會列印出 device not found 的提示,特別是 windows adb 驅動也不能用了。這個時候該怎麼辦呢?一,先搞清現在的 pid vid 為多少,例如...

無法載入php curl dll解決辦法

今天需要載入php curl.dll這個動態庫,在php.ini裡把extension php curl.dll前面的分號去掉。可是啟動apache的時候還是提示無法載入php curl.dll這個檔案,而且ext這個目錄下面也有php curl.dll這個檔案,可是為什麼就是找不到呢,真是百思不得...

sw無法開啟 解決辦法

問題一 solidworks2019安裝出現無效的使用許可號碼 8,544,3 2020.7.8 2 對應的安裝路徑 c program files solidworks corp solidworks 因此將1 中的netapi.dll 複製到 2 即可解決。其他問題 導致無法開啟 解決方法 1 ...