qileilove

          blog已經(jīng)轉(zhuǎn)移至github,大家請?jiān)L問 http://qaseven.github.io/

          QTP 錄制 回放 原理

          QTP 錄制 回放 原理 
             自動化測試可以基于代碼,例如junit,cppunit,可以基于協(xié)議,例如loadrunner,QTP是基于GUI界面的自動化測試工具。junit和cppunit屬于單元測試,loadrunner和QTP屬于系統(tǒng)測試。loadrunner用于系統(tǒng)的性能測試,QTP用于系統(tǒng)的功能測試。QTP是一款基于界面的功能自動化測試工具。
              LR錄制的是協(xié)議和數(shù)據(jù)包,QTP錄制的是鼠標(biāo)和鍵盤的消息。QTP錄制回放時(shí)基于windows操作系統(tǒng)的消息機(jī)制。QTP在錄制時(shí)監(jiān)聽?wèi)?yīng)用程序的消息,監(jiān)聽到之后把消息放到容器里,而另外的監(jiān)聽程序則從容器中取出容器中的消息,并調(diào)用對用的API處理函數(shù)。QTP截取的是用戶對應(yīng)用程序的操作,即錄制的是消息。對于C/S應(yīng)用程序,在回放時(shí)QTP根據(jù)對象的句柄(handle)和腳本內(nèi)容,調(diào)用API函數(shù);對于B/S應(yīng)用程序,在回放時(shí)基于DOM(document object model)來解析。
              RO(Runtime Object)和TO(Test Object)。RO是指GUI界面上的控件即對象本身,TO是QTP對象庫里的對象即在錄制時(shí)添加到對象庫的對象。RO是應(yīng)用程序上實(shí)際的對象,因此擁有對象的所有的屬性和方法;TO是QTP在錄制時(shí)獲取的應(yīng)用程序的對象的,而錄制時(shí) QTP只保存了應(yīng)用程序一部分常用的,能夠在回放時(shí)識別應(yīng)用程序上對象的一部分屬性,因此TO對象擁有應(yīng)用程序上對象的一部分屬性。另外QTP對象庫里保存的是TO對象。不過QTP可以使用Object Spy功能獲取應(yīng)用程序的所有屬性值,或者可以通過TO對象的getROproperty()和getROpropertys()獲取應(yīng)用程序的所有屬性值(呵呵,所有對象都沒有setROproperty()方法)。使用TO對象的setTOproperty()和getTOproperty()可以操作對象庫的TO對象。
              QTP的錄制原理:根據(jù)用戶在應(yīng)用程序界面上的操作,QTP采用Object Identification Tools工具對被操作的對象進(jìn)行識別,采用反編譯的原理看其屬于哪個(gè)插件類,從而進(jìn)一步識別其屬于什么控件類,然后QTP把對應(yīng)的控件類實(shí)例化一個(gè)對象,并把獲取的應(yīng)用程序的一部分屬性值(足以識別對象?)賦給新建的對象,并添加到對象庫里即TO對象,而把用戶對對象的操作添加到腳本里面。
              QTP的回放原理:QTP 根據(jù)腳本中記錄下來的對象操作的順序進(jìn)行回放。QTP從腳本中讀取到該對象,并根據(jù)對象的層次和名稱到對象庫中尋找相同名稱的測試庫對象,在測試庫找到相應(yīng)的對象,獲得對象的屬性,根據(jù)對象庫中對象的屬性,在運(yùn)行的應(yīng)用程序中進(jìn)行匹配,尋找運(yùn)行時(shí)對象,找到后根據(jù)腳本中記錄的對該對象執(zhí)行的動作和參數(shù)值。 

          posted on 2012-05-23 16:42 順其自然EVO 閱讀(835) 評論(0)  編輯  收藏 所屬分類: qtp

          <2012年5月>
          293012345
          6789101112
          13141516171819
          20212223242526
          272829303112
          3456789

          導(dǎo)航

          統(tǒng)計(jì)

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 贡嘎县| 泽州县| 蓬莱市| 新密市| 阿拉善盟| 上高县| 莎车县| 古丈县| 改则县| 南乐县| 鹤山市| 长子县| 五大连池市| 枝江市| 扎囊县| 开江县| 百色市| 安化县| 孟州市| 禹城市| 涟水县| 莫力| 石阡县| 平乐县| 平山县| 旬邑县| 庐江县| 廉江市| 尉犁县| 富锦市| 饶平县| 嘉义市| 普兰店市| 铜山县| 英山县| 蕲春县| 营山县| 屯昌县| 雷波县| 慈利县| 林州市|