QTP 錄製 回放 原理

2021-05-24 06:05:08 字數 1179 閱讀 6068

自動化測試可以基於**,例如junit,cppunit,可以基於協議,例如loadrunner,qtp是基於gui介面的自動化測試工具。junit和cppunit屬於單元測試,loadrunner和qtp屬於系統測試。loadrunner用於系統的效能測試,qtp用於系統的功能測試。qtp是一款基於介面的功能自動化測試工具。

lr錄製的是協議和資料報,qtp錄製的是滑鼠和鍵盤的訊息。qtp錄製回放時基於windows作業系統的訊息機制。qtp在錄製時監聽應用程式的訊息,監聽到之後把訊息放到容器裡,而另外的監聽程式則從容器中取出容器中的訊息,並呼叫對用的api處理函式。qtp擷取的是使用者對應用程式的操作,即錄製的是訊息。對於c/s應用程式,在回放時qtp根據物件的控制代碼(handle)和指令碼內容,呼叫api函式;對於b/s應用程式,在回放時基於dom(document object model)來解析。

ro(runtime object)和to(test object)。ro是指gui介面上的控制項即物件本身,to是qtp物件庫里的物件即在錄製時新增到物件庫的物件。ro是應用程式上實際的物件,因此擁有物件的所有的屬性和方法;to是qtp在錄製時獲取的應用程式的物件的,而錄製時 qtp只儲存了應用程式一部分常用的,能夠在回放時識別應用程式上物件的一部分屬性,因此to物件擁有應用程式上物件的一部分屬性。另外qtp物件庫里儲存的是to物件。不過qtp可以使用object spy功能獲取應用程式的所有屬性值,或者可以通過to物件的getroproperty()和getropropertys()獲取應用程式的所有屬性值(呵呵,所有物件都沒有setroproperty()方法)。使用to物件的settoproperty()和gettoproperty()可以操作物件庫的to物件。

qtp的錄製原理:根據使用者在應用程式介面上的操作,qtp採用object identification tools工具對被操作的物件進行識別,採用反編譯的原理看其屬於哪個外掛程式類,從而進一步識別其屬於什麼控制項類,然後qtp把對應的控制項類例項化乙個物件,並把獲取的應用程式的一部分屬性值(足以識別物件?)賦給新建的物件,並新增到物件庫里即to物件,而把使用者對物件的操作新增到指令碼裡面。

qtp的回放原理:qtp 根據指令碼中記錄下來的物件操作的順序進行回放。qtp從指令碼中讀取到該物件,並根據物件的層次和名稱到物件庫中尋找相同名稱的測試庫物件,在測試庫找到相應的物件,獲得物件的屬性,根據物件庫中物件的屬性,在執行的應用程式中進行匹配,尋找執行時物件,找到後根據指令碼中記錄的對該物件執行的動作和引數值。

QTP系列研究 錄製回放原理

其實qtp是一款基於gui層的automation測試工具。qtp的整個核心都在物件倉庫上。qtp錄製的是滑鼠和鍵盤的訊息。qtp錄製回放時基於windows作業系統的訊息機制。qtp在錄製時監聽應用程式的訊息,監聽到之後把訊息放到容器裡,而另外的監聽程式則從容器中取出容器中的訊息,並呼叫對用的ap...

ROS錄製與回放資料

rosbag record a附加 a選項,該選項表示將當前發布的所有話題資料都錄製儲存到乙個bag檔案中,個以年份 日期和時間命名並以.bag作為字尾的檔案。rosbag info 檢視bag檔案中的內容而無需回放出來。rosbag play 回放bag檔案以再現系統執行過程rosbag play...

QTP錄製delphi程式,可錄製無法執行

1.qtp登入時確保載入delphi外掛程式 2.錄製了delphi語言編寫的程式後,可正常錄製。回放時有些控制項無法回放,提示找不到物件。1 檢查物件倉庫中有該物件 2 使用spy工具檢視物件的屬性,確保應用程式中物件的屬性與物件倉庫的屬性一致 3 仍不能回放 3.通過以上兩點檢查,回放扔提示找不...