版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、QTP基礎(chǔ)知識(shí),精通QTP自動(dòng)化測試技術(shù)領(lǐng)航 ,前言關(guān)于自動(dòng)化測試腳本開發(fā)的經(jīng)驗(yàn)與感悟,自動(dòng)化測試腳本代碼必須嚴(yán)謹(jǐn)、規(guī)范。 自動(dòng)化測試腳本是參照自動(dòng)化測試用例開發(fā)出來的,測試用例即是開發(fā)參照物。 發(fā)揮自己的想象盡一切可能使自動(dòng)化測試腳本更智能、高效、穩(wěn)定、復(fù)用性高。 開發(fā)過程中多利用程序插樁+斷點(diǎn),檢查業(yè)務(wù)組件是否存在缺陷或代碼是否存在漏洞。 自動(dòng)化測試腳本開發(fā)完畢后,至少運(yùn)行成功3次以上,方可認(rèn)為腳本已經(jīng)沒有問題。,目錄,錄制與運(yùn)行設(shè)置 回放機(jī)制 對(duì)象庫對(duì)象 對(duì)象庫編程 描述性編程 驗(yàn)證點(diǎn)和測試報(bào)告,Record and Run Settings錄制與運(yùn)行設(shè)置,Record and Run
2、Settings的位置:進(jìn)入QTP上方菜單欄AutomationRecord and Run Settings。如右圖所示。 點(diǎn)擊Record and Run Settings后,會(huì)彈出一個(gè)窗口,窗口中有兩個(gè)選項(xiàng)卡,分別是Web選項(xiàng)卡以及Windows Applications選項(xiàng)卡。,Record and Run Settings錄制與運(yùn)行設(shè)置之Web選項(xiàng)卡,Record and run test on any open browser。選中這個(gè)選項(xiàng)后,在錄制的時(shí)候,這個(gè)選項(xiàng)需要手動(dòng)打開瀏覽器,并且在錄制的過程中可以隨時(shí)暫停錄制、修改、繼續(xù)錄制等。 Open the following ad
3、dress when a record on run session begins。選中這個(gè)選項(xiàng)后,會(huì)同時(shí)激活網(wǎng)址輸入框及圖中的3、4、5,在網(wǎng)址輸入框中輸入需要的被測網(wǎng)頁地址即可,此時(shí)QTP就會(huì)打開該網(wǎng)頁。,Open the following browser when a run session begins。在選中了圖中的“2”后被激活,以下拉框形式選擇瀏覽器類型,默認(rèn)只有1個(gè)瀏覽器類型:Microsoft Internet Explorer。 選中2后,4、5默認(rèn)勾選,Record and Run Settings錄制與運(yùn)行設(shè)置之Windows Applications選項(xiàng)卡,QTP中
4、的3種錄制模式,正常錄制模式。這種錄制模式是直接對(duì)對(duì)象的操作,它通過識(shí)別程序中的對(duì)象來代替以前依賴識(shí)別屏幕坐標(biāo)的形式。但是正常模式并不能保證識(shí)別程序中所有的對(duì)象,因此,仍然需要其他兩種模式來補(bǔ)充。 模擬錄制模式(Analog Recording)。此類模式錄制了所有鍵盤和鼠標(biāo)的精確操作。 低級(jí)錄制模式(Low Level Recording)。此類模式是用來錄制QTP不能識(shí)別的環(huán)境或?qū)ο?。它不止錄制了鼠?biāo)和鍵盤的所有操作,對(duì)對(duì)象的位置要求也非常嚴(yán)格。 注意:模擬錄制模式和低級(jí)錄制模式的前提是開啟正常錄制模式。 目錄,QTP回放機(jī)制封裝對(duì)象與真實(shí)對(duì)象的匹配,QTP根據(jù)腳本中記錄下來的對(duì)象操作的順
5、序進(jìn)行回放(再通俗點(diǎn)的說法就是,在沒有特殊情況下是從上到下執(zhí)行,一句一句執(zhí)行的,特殊情況就是,比如遇到Function時(shí)會(huì)“跳”)。QTP從腳本中讀取到該對(duì)象,并根據(jù)對(duì)象的層次和名稱到對(duì)象庫中尋找相同名稱的測試對(duì)象,在對(duì)象庫找到相應(yīng)的測試對(duì)象并獲得該測試對(duì)象的屬性,然后根據(jù)這個(gè)測試對(duì)象的屬性,在運(yùn)行的網(wǎng)頁或應(yīng)用程序中進(jìn)行匹配,尋找運(yùn)行時(shí)對(duì)象。如果成功匹配上,再根據(jù)腳本中記錄的該對(duì)象的方法、動(dòng)作和參數(shù)值進(jìn)行應(yīng)用,如果未能匹配上,則在超出了等待時(shí)間后報(bào)錯(cuò),腳本即宣布運(yùn)行失敗。 QTP回放機(jī)制的重要相關(guān)設(shè)置 1FileSettingsRun 2FileSettingsWeb 3ToolsOption
6、sRun 4QTP的兩種回放模式設(shè)置,FileSettingsRun,Data Table iterations. QTP自帶的數(shù)據(jù)表功能在運(yùn)行時(shí)的迭代設(shè)置。 When error occurs during run session:當(dāng)在運(yùn)行期間發(fā)生錯(cuò)誤時(shí)。 Object synchronization timeout:XX seconds. 同步的延時(shí)時(shí)長(默認(rèn)20秒)。 Disable Smart Identification during the run session. 默認(rèn)不勾選,若勾選則在運(yùn)行期間屏蔽智能識(shí)別功能,也就是說,即使測試對(duì)象開啟智能識(shí)別功能,只要在運(yùn)行時(shí)勾選這個(gè)選項(xiàng),智
7、能識(shí)別就不會(huì)生效,可以說 這個(gè)功能是一個(gè)總閥門。Object Identification中的智能識(shí)別針對(duì)對(duì)象模型下的某一具體對(duì)象。 Save image of desktop when error occurs (if test is run by the HP Business Process Monitor). 在出現(xiàn)錯(cuò)誤時(shí),截圖并在QTP Report中反應(yīng)。該功能只限于業(yè)務(wù)組件的腳本運(yùn)行。注意:要新建或者打開一個(gè)業(yè)務(wù)組件的必須條件是QTP和QC聯(lián)通,否則會(huì)彈出錯(cuò)誤信息。,FileSettingsWeb(這個(gè)設(shè)置只針對(duì)B/S架構(gòu)的系統(tǒng)),Browser navigation timeo
8、ut:XX seconds:設(shè)置運(yùn)行測試步驟之前等待網(wǎng)頁加載時(shí)間的最大值(默認(rèn)60秒)。,ToolsOptionsRun,Run mode (Normal or Fast):QTP在腳本運(yùn)行時(shí)一共分兩種運(yùn)行模式。Normal模式是一種正常的運(yùn)行模式,F(xiàn)ast則是一種快速運(yùn)行模式(如果以QC調(diào)用QTP腳本并執(zhí)行,默認(rèn)且只可能是以Fast模式運(yùn)行的;如果以QC調(diào)用QTP腳本并執(zhí)行,默認(rèn)且只可能是以Fast模式運(yùn)行的)。 Submit a defect to Quality Center for each failed step:任何一個(gè)步驟出錯(cuò)自動(dòng)提交缺陷至QC。前提條件:QTP和QC連接成功,否
9、則是灰色的。 View results when run session ends. 默認(rèn)勾選,當(dāng)腳本運(yùn)行結(jié)束后自動(dòng)彈出Report報(bào)告。相反,把鉤取消掉就不會(huì)彈出Report了。 Stop command shortcut key. 停止運(yùn)行的快捷鍵設(shè)置,默認(rèn)是Ctrl+Alt+F5組合鍵,并可自行設(shè)置。別小看這個(gè)快捷鍵,如果在腳本運(yùn)行的時(shí)候想使其停下來,一定要用快捷鍵,想靠點(diǎn)擊圖標(biāo)是很有難度的,自己試試就知道了,特別是長腳本,這也算是個(gè)小經(jīng)驗(yàn)吧。,QTP的兩種回放模式設(shè)置,兩種回放模式 Event模式事件跟蹤 Mouse模式鼠標(biāo)跟蹤 切換回放模式的兩種方法 (1)進(jìn)入到ToolsOptio
10、nsWebAdvanced ,然后列表拖到最下面可以找到Run settings下的Replay type 可以看到QTP默認(rèn)的回放模式是Event,也就是事件跟蹤。如果現(xiàn)在切換到Mouse,點(diǎn)擊確認(rèn)后,回放時(shí)鼠標(biāo)光標(biāo)就會(huì)進(jìn)行跟蹤 (2)以代碼控制,代碼如下: Setting.WebPackage(ReplayType=2 這種方式可以在QTP運(yùn)行時(shí)根據(jù)個(gè)性化需求來進(jìn)行控制,隨時(shí)可以進(jìn)行開和關(guān),這句程序的意思就是把回放模式設(shè)置為2。1代表事件跟蹤模式,2代表鼠標(biāo)光標(biāo)跟蹤模式。 目錄,捕獲對(duì)象時(shí)的模式切換(偵探Jack和對(duì)象庫添加對(duì)象),半操作模式CTRL鍵(支持點(diǎn)擊)按住CTRL鍵,可在抓取對(duì)
11、象時(shí),進(jìn)行點(diǎn)擊操作。 全模式操作CTRL+ALT(支持點(diǎn)擊和鍵盤輸入)按住CTRL鍵,再按住ALT鍵,緊接著先松開CTRL鍵再松開ALT鍵,可在抓取對(duì)象時(shí)點(diǎn)擊和輸入,操作完成后,點(diǎn)擊CTRL鍵,回到抓取對(duì)象狀態(tài)。,對(duì)象庫對(duì)象的基本操作,對(duì)象庫的對(duì)象可以進(jìn)行復(fù)制、剪切、粘貼和刪除操作,如果剪切、復(fù)制或刪除的是父對(duì)象,那父對(duì)象下的子對(duì)象會(huì)一起剪切、復(fù)制或刪除。 注意Action的切換,可以通過Action查看不同Action下的對(duì)象(與對(duì)象庫外的Action不同) 副對(duì)象 目錄,對(duì)象庫編程的3種方法,步驟生成器方式 Complete word方式 對(duì)象拖動(dòng)生成方式 目錄,步驟生成器方式,步驟生成器
12、是QTP的一種功能,Complete word方式,首先打開QTP并依次點(diǎn)擊上方菜單欄下的EditAdvanced,在找到Complete Word后,讀者會(huì)發(fā)現(xiàn)一個(gè)很尷尬的事情,就是QTP設(shè)定的Complete Word正是平常一直使用的切換中、英文的快捷鍵Ctrl+Space,而由于快捷鍵Ctrl+Space被優(yōu)先認(rèn)定為中、英文切換組合鍵,所以會(huì)導(dǎo)致QTP的Complete Word無效。 解決步驟: (1)右鍵單擊語言欄,點(diǎn)擊設(shè)置。 (2)點(diǎn)擊鍵設(shè)置,選擇輸入法/非輸入法切換。 (3)點(diǎn)擊更改按鍵順序。 (4)如圖1-139所示的選擇,然后點(diǎn)擊確定。 在完成了以上4個(gè)步驟之后,就可以在E
13、xpert View中使用快捷鍵Ctrl+Space來調(diào)出Complete Word了,對(duì)象拖動(dòng)生成方式,把對(duì)象拖動(dòng)到Expert View里來快速生成代碼,這種方式只支持QTP10.0以上的版本。 在這個(gè)窗口(Available Keywords)中不光顯示所有的測試對(duì)象,還會(huì)顯示所有的Functions,包括外部調(diào)用的和腳本內(nèi)部本身的Function,同時(shí)也可以看到右鍵單擊某個(gè)對(duì)象后可以點(diǎn)擊Open Resource,可以通過這樣一種方式來進(jìn)入對(duì)象庫,并直接定位到所選的對(duì)象在對(duì)象庫中的位置,可以說這個(gè)窗口是非常實(shí)用的一個(gè)功能。,QTP 封裝對(duì)象模型TO VS RO,GetTOPropert
14、y() 基本含義:獲取對(duì)象庫中某個(gè)對(duì)象的某個(gè)屬性的值。 公式:ReturnValue =對(duì)象.GetTOProperty(封裝屬性名) GetTOProperties() 基本含義:獲取對(duì)象庫中某個(gè)對(duì)象的所有屬性的值。 公式:ReturnValue =對(duì)象.GetTOProperties()。 SetTOProperty() 基本含義:設(shè)置對(duì)象庫中某個(gè)對(duì)象的某個(gè)屬性的值。 公式:對(duì)象.SetTOProperty“封裝屬性名”,“封裝屬性值”。 GetROProperty() 基本含義:獲取實(shí)際在運(yùn)行時(shí)的某個(gè)對(duì)象的某個(gè)屬性的值(不是從對(duì)象庫里面獲?。?公式:ReturnValue =對(duì)象.Ge
15、tROProperty(封裝屬性名)。 目錄,描述性編程,描述性編程不高深。 描述性編程的兩種寫法。,第一種描述性編程,描述每個(gè)對(duì)象的屬性及屬性值,通過這個(gè)原理來虛擬成對(duì)象庫中的對(duì)象,只是對(duì)象庫是隱形的。 with Browser(micClass:=Browser).Page(micClass:=Page) .WebEdit(name:=wd).SetQTP自動(dòng)化測試技術(shù)領(lǐng)航 .WebButton(name:=百度一下).Click end with,第二種描述性編程,使用Description對(duì)象(使用該對(duì)象可以返回包含一組Property對(duì)象的Properties集合對(duì)象) 要?jiǎng)?chuàng)建Pro
16、perties集合,需要先創(chuàng)建Properties對(duì)象,使用以下語法進(jìn)行: Set objDescription=Description.Create() 先看以下腳本: Browser(micClass:=Browser).Page(micClass:=Page)._ WebEdit(html tag:=INPUT,name:=wd).Set此時(shí)描述對(duì)象的括號(hào)內(nèi)不需要加引號(hào) 完全可以通過Description對(duì)象來實(shí)現(xiàn)同樣的功能:,第二種描述性編程,Set objbrowser=description.Create():objbrowser(micClass).value=Browser S
17、et objpage=description.Create():objpage(micClass).value=Page Set objwebedit=description.Create() objwebedit(html tag).value=INPUT:objwebedit(name).value=wd Browser (objbrowser).Page(objpage).WebEdit(objwebedit).Set此時(shí)描述對(duì)象的括號(hào)內(nèi)不需要加引號(hào) 最后需要記住釋放對(duì)象,從最里面一層開始釋放直到最外面一層 Set objwebedit=nothing Set objpage=nothi
18、ng Set objbrowser=nothing 目錄,驗(yàn)證點(diǎn)和測試報(bào)告,QTP驗(yàn)證點(diǎn)分為和包括兩項(xiàng): 如何使用QTP做一系列的驗(yàn)證 如何查看測試報(bào)告,從而判斷自動(dòng)化測試用例的預(yù)期結(jié)果正確與否 使用QTP“原裝”驗(yàn)證點(diǎn)函數(shù)進(jìn)行一切檢查工作 語法部分: object.CheckProperty(PropertyName,PropertyValue,TimeOut) 詳解部分: 對(duì)象.CheckProperty方法(參數(shù)“屬性名”,參數(shù)“屬性值”,非必填項(xiàng)“延時(shí)”) (TimeOut單位是毫秒) 靈活的自定義驗(yàn)證點(diǎn) Reporter函數(shù)Reporter.ReportEvent ReportEve
19、nt方法,靈活的自定義驗(yàn)證點(diǎn),ReportEvent 后面必須跟一個(gè)“空格”,不能是其他任何字符或按鍵。在選中一個(gè)時(shí)間狀態(tài)后(假設(shè)這里選中micDone),輸入一個(gè)“逗號(hào)”,開始設(shè)置Details,具體內(nèi)容自己決定。最后一個(gè)參數(shù)是ImageFilePath,這個(gè)參數(shù)不是必填項(xiàng),作用是將截圖填入到報(bào)告中,當(dāng)然得把圖片相應(yīng)的路徑填對(duì)。 示例 checkurl=trim(browser(micClass:=browser).Object.locationurl) If checkurl= Then reporter.ReportEvent micPass,step1,passed Else repo
20、rter.ReportEvent micFail,step1,failed End If 目錄,step1- SystemUtil.RunIEXPLORE.EXE, wait 20 browser(micClass:=browser).N browser(micClass:=browser).page(micClass:=page).Sync:wait 30 checkurl=trim(browser(micClass:=browser).Object.locationurl) If checkurl= Then reporter.ReportEvent micPass,step1,passed else reporter.ReportEvent micFail,step1,failed End If,網(wǎng)站實(shí)際操作,step2- browser(micClass:=browser).OpenNewTab:wait 1 testhwnd=browser(name:=歡迎使用選項(xiàng)卡瀏覽).GetROProperty(hwnd) browser(name:=歡迎使用選項(xiàng)卡瀏覽).N step3- Browser(中國國際招標(biāo)網(wǎng)-最大的電子招投標(biāo)公共服務(wù)網(wǎng)站).Pa
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 防雷設(shè)施安裝維護(hù)合同三篇
- 化妝品行業(yè)保安工作總結(jié)
- 兒童游樂設(shè)施設(shè)計(jì)美工工作總結(jié)
- 林業(yè)行業(yè)美工的森林保護(hù)
- 風(fēng)險(xiǎn)防范工作總結(jié)
- 【八年級(jí)下冊地理粵教版】第8章 珠江三角洲 單元測試
- 本科生畢業(yè)論文答辯記錄表
- 2025屆揚(yáng)州市高三語文(上)1月質(zhì)量調(diào)研試卷及答案解析
- 創(chuàng)新成果知識(shí)產(chǎn)權(quán)合同(2篇)
- DB33T 2188.4-2019 大型賽會(huì)志愿服務(wù)崗位規(guī)范 第4部分:禮賓接待志愿服務(wù)
- 養(yǎng)老服務(wù)中心裝飾裝修工程施工方案
- 落地式腳手架監(jiān)理實(shí)施細(xì)則
- 上海市金山區(qū)2022-2023學(xué)年中考一模英語試題含答案
- 節(jié)水灌溉供水工程初步設(shè)計(jì)報(bào)告
- 【期末試題】河西區(qū)2018-2019學(xué)年度第一學(xué)期六年級(jí)數(shù)學(xué)期末試題
- 2022年總經(jīng)理年會(huì)發(fā)言稿致辭二
- 警綜平臺(tái)運(yùn)行管理制度
- 立法學(xué)完整版教學(xué)課件全套ppt教程
- 簡約中國風(fēng)水墨山水工作總結(jié)通用PPT模板
- 礦山測量課程設(shè)計(jì)
- 藥廠生產(chǎn)車間現(xiàn)場管理-PPT課件
評(píng)論
0/150
提交評(píng)論