https://www.cnblogs.com/xiezhidong/p/6784684.htmlhtml
---------------------linux
QTP是基於GUI界面的自動化測試工具,用於系統的功能測試。
QTP錄製的是鼠標和鍵盤的消息。QTP錄製回放時基於windows操做系統的消息機制。QTP在錄製時監聽應用程序的消息,監聽到以後把消息放到容器裏,而另外的監聽程序則從容器中取出容器中的消息,並調用對用的API處理函數。QTP截取的是用戶對應用程序的操做,即錄製的是消息。對於C/S應用程序,在回放時QTP根據對象的句柄(handle)和腳本內容,調用API函數;對於B/S應用程序,在回放時基於DOM(documentobject model)來解析。 具體來講, QTP的錄製原理:根據用戶在應用程序界面上的操做,QTP採用ObjectIdentification Tools工具對被操做的對象進行識別,採用反編譯的原理看其屬於哪一個插件類,從而進一步識別其屬於什麼控件類,而後QTP把對應的控件類實例化一個對象,並把獲取的應用程序的一部分屬性值(足以識別對象?)賦給新建的對象,並添加到對象庫裏即TO對象,而把用戶對對象的操做添加到腳本里面。 QTP的回放原理:QTP 根據腳本中記錄下來的對象操做的順序進行回放。QTP從腳本中讀取到該對象,並根據對象的層次和名稱到對象庫中尋找相同名稱的測試庫對象,在測試庫找到相應的對象,得到對象的屬性,根據對象庫中對象的屬性,在運行的應用程序中進行匹配,尋找運行時對象,找到後根據腳本中記錄的對該對象執行的動做和參數值。