UFT(QTP) 录制 回放 原理
生活随笔
收集整理的這篇文章主要介紹了
UFT(QTP) 录制 回放 原理
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
自動(dòng)化測(cè)試可以基于代碼,例如junit,cppunit,可以基于協(xié)議,例如loadrunner,QTP是基于GUI界面的自動(dòng)化測(cè)試工具。junit和cppunit屬于單元測(cè)試,loadrunner和QTP屬于系統(tǒng)測(cè)試。loadrunner用于系統(tǒng)的性能測(cè)試,QTP用于系統(tǒng)的功能測(cè)試。QTP是一款基于界面的功能自動(dòng)化測(cè)試工具。
??? 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)用對(duì)用的API處理函數(shù)。QTP截取的是用戶對(duì)應(yīng)用程序的操作,即錄制的是消息。對(duì)于C/S應(yīng)用程序,在回放時(shí)QTP根據(jù)對(duì)象的句柄(handle)和腳本內(nèi)容,調(diào)用API函數(shù);對(duì)于B/S應(yīng)用程序,在回放時(shí)基于DOM(document object model)來解析。
??? RO(Runtime Object)和TO(Test Object)。RO是指GUI界面上的控件即對(duì)象本身,TO是QTP對(duì)象庫里的對(duì)象即在錄制時(shí)添加到對(duì)象庫的對(duì)象。RO是應(yīng)用程序上實(shí)際的對(duì)象,因此擁有對(duì)象的所有的屬性和方法;TO是QTP在錄制時(shí)獲取的應(yīng)用程序的對(duì)象的,而錄制時(shí) QTP只保存了應(yīng)用程序一部分常用的,能夠在回放時(shí)識(shí)別應(yīng)用程序上對(duì)象的一部分屬性,因此TO對(duì)象擁有應(yīng)用程序上對(duì)象的一部分屬性。另外QTP對(duì)象庫里保存的是TO對(duì)象。不過QTP可以使用Object Spy功能獲取應(yīng)用程序的所有屬性值,或者可以通過TO對(duì)象的getROproperty()和getROpropertys()獲取應(yīng)用程序的所有屬性值(呵呵,所有對(duì)象都沒有setROproperty()方法)。使用TO對(duì)象的setTOproperty()和getTOproperty()可以操作對(duì)象庫的TO對(duì)象。
??? QTP的錄制原理:根據(jù)用戶在應(yīng)用程序界面上的操作,QTP采用Object Identification Tools工具對(duì)被操作的對(duì)象進(jìn)行識(shí)別,采用反編譯的原理看其屬于哪個(gè)插件類,從而進(jìn)一步識(shí)別其屬于什么控件類,然后QTP把對(duì)應(yīng)的控件類實(shí)例化一個(gè)對(duì)象,并把獲取的應(yīng)用程序的一部分屬性值(足以識(shí)別對(duì)象?)賦給新建的對(duì)象,并添加到對(duì)象庫里即TO對(duì)象,而把用戶對(duì)對(duì)象的操作添加到腳本里面。
??? QTP的回放原理:QTP 根據(jù)腳本中記錄下來的對(duì)象操作的順序進(jìn)行回放。QTP從腳本中讀取到該對(duì)象,并根據(jù)對(duì)象的層次和名稱到對(duì)象庫中尋找相同名稱的測(cè)試庫對(duì)象,在測(cè)試庫找到相應(yīng)的對(duì)象,獲得對(duì)象的屬性,根據(jù)對(duì)象庫中對(duì)象的屬性,在運(yùn)行的應(yīng)用程序中進(jìn)行匹配,尋找運(yùn)行時(shí)對(duì)象,找到后根據(jù)腳本中記錄的對(duì)該對(duì)象執(zhí)行的動(dòng)作和參數(shù)值。
總結(jié)
以上是生活随笔為你收集整理的UFT(QTP) 录制 回放 原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式系统如何进行测试?
- 下一篇: FAT16文件系统之DBR(二)