[英]How to add objects to object repository automatically using vb scripts?
是否可以使用VBScript自動將對象添加到對象存儲庫?
假設我的網頁/應用程序中包含鏈接列表。 這會耗費時間,當我手動添加對象時,我試圖自動將對象添加到存儲庫。 但由於我不知道如何在QTP中激活對象存儲庫(在運行時),因此無法繼續。
以下是我嘗試過的代碼:
Function Objects_Count(myObject)
Dim Objects
Set Objects=Description.Create
Objects("micclass").value=myObject
set obj=Browser("title:=.*").Page("title:=.*").ChildObjects(Objects)
For i=0 to obj.count-1
'msgbox i
c=obj(i).getroproperty("name")
If obj(i).Exist(1) Then
obj(i).highlight
End If
Print c
Next
End Function
Call Objects_Count("link")
上面的代碼將獲取日志文件中顯示的鏈接名稱,並在應用程序/網頁中突出顯示。 請指導我如何將該鏈接(對象)的屬性添加到對象存儲庫。
謝謝!
為了操作對象存儲庫,您需要Mercury.ObjectRepositoryUtil
對象, load
現有的對象存儲庫並使用AddObject
向其添加對象。
Set myRepository = CreateObject("Mercury.ObjectRepositoryUtil")
myRepository.Load "C:\QuickTest\Tests\Flights.tsr"
myRepository.AddObject myLink, Browser("B").Page("P"), "myLinkName"
你必須稍微玩一下才能讓它適應你的情況。 使用QTP幫助找出ObjectRepositoryUtil的所有可訪問方法/屬性,只需在Index
選項卡下的搜索框中輸入“ObjectRepositoryUtil”即可。
編輯:您需要通過其ProgId而不是通過其micclass
創建測試對象。
然后使用SetTOProperty
從ChildObjects
返回的值創建相關描述。
我不相信有一種方法可以動態添加測試對象。 ObjectRepositoryUtil.AddObject
在其文檔中有這個:
您可以使用此方法添加從其他對象存儲庫檢索的對象的副本。
您可以通過XML動態創建存儲庫,並在測試中獲取屬性,但我認為這比它的價值更令人煩惱。
在這種情況下,可能最好使用描述性編程。
有關詳細信息,請參閱此LinkedIn主題 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.