![QTP自動(dòng)化測(cè)試教程_第1頁(yè)](http://file4.renrendoc.com/view/e6481701d3c10e278ac9a47801788716/e6481701d3c10e278ac9a478017887161.gif)
![QTP自動(dòng)化測(cè)試教程_第2頁(yè)](http://file4.renrendoc.com/view/e6481701d3c10e278ac9a47801788716/e6481701d3c10e278ac9a478017887162.gif)
![QTP自動(dòng)化測(cè)試教程_第3頁(yè)](http://file4.renrendoc.com/view/e6481701d3c10e278ac9a47801788716/e6481701d3c10e278ac9a478017887163.gif)
![QTP自動(dòng)化測(cè)試教程_第4頁(yè)](http://file4.renrendoc.com/view/e6481701d3c10e278ac9a47801788716/e6481701d3c10e278ac9a478017887164.gif)
![QTP自動(dòng)化測(cè)試教程_第5頁(yè)](http://file4.renrendoc.com/view/e6481701d3c10e278ac9a47801788716/e6481701d3c10e278ac9a478017887165.gif)
版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、自動(dòng)化測(cè)試新手上路Q(chēng)uickTest Professional 10.0”,簡(jiǎn)一、初識(shí)廬山真面目自動(dòng)化測(cè)試離不開(kāi)工具,我們首推測(cè)試界聲名顯赫的 稱(chēng) QTP。至于推薦他的理由,大家可以到網(wǎng)上一搜便知。1、安裝 QTP首先第一個(gè)環(huán)節(jié)便是介紹:如何安裝這個(gè)讓人愛(ài)不釋手的工具QTP。1、找到工具: 途徑有兩個(gè), 一個(gè)是拿著 U 盤(pán)找安裝過(guò)的同事 copy;另一個(gè)是到測(cè)試部 共享的工具服務(wù)器上下載, 地址: 測(cè)試部 Tools,文件名為: QTP10 安 裝文件 .rar 。推薦,第一個(gè)途徑,能夠又快又準(zhǔn)確的找到你想得到的東西,并且在 聯(lián)絡(luò)感情之余可以隨便請(qǐng)教安裝與試用之道, 當(dāng)然這一定要看當(dāng)事人是否有
2、這個(gè)時(shí) 間。如果人家沒(méi)有這個(gè)時(shí)間也別急,請(qǐng)耐心看完此文檔。2、檢查安裝環(huán)境:C盤(pán)空間: 因?yàn)槲覀兺扑]將 QTP安裝在 C盤(pán),所以請(qǐng)檢查 C盤(pán)是否有足夠的空 間,安裝完的 QTP 大概 640M 左右。是否有病毒:建議殺一下病毒,之前有同事因?yàn)椴《景惭b不成功的案例。暫時(shí)關(guān)掉某些殺毒軟件:例如已知的殺毒軟件“諾頓”、“卡巴斯基” 。原因是這兩個(gè)殺毒軟件會(huì)將我們的特別文件當(dāng)做病毒給殺掉, 無(wú)法順利安裝試用 QTP。檢查 IE版本:理論上 QTP是支持 IE6、7、8 的,但 IE8 需要另下補(bǔ)丁, IE7 也 遇到一些不可理喻的問(wèn)題, 所以在安裝 QTP之前煩請(qǐng)將 IE7或8卸載,降至 IE6。3、
3、開(kāi)始安裝。得到安裝文件后,解壓,點(diǎn)擊“ ”,一路下一步,注意:開(kāi)始有一個(gè)步驟需要安裝 QTP 需要的組件,一個(gè)是“ .net framework 2.0 ”和一個(gè)關(guān)于 C+的 東西,不能跳過(guò),必須安裝。直到見(jiàn)到如 “圖一” 的頁(yè)面,停下來(lái)確認(rèn)是否能夠上外網(wǎng)。最好是能夠聯(lián)網(wǎng)安 裝,因?yàn)檫@一步有一個(gè)“下載并安裝腳本調(diào)試器” ,由于不明確這個(gè)調(diào)試器是個(gè)什 么東西, 也就沒(méi)找到相關(guān)的安裝包。 不安裝此調(diào)試器的直接后果是, 無(wú)法調(diào)試你編 的 QTP 腳本,很麻煩。圖一:其他安裝需求如果實(shí)在不能聯(lián)網(wǎng)安裝, 則將“下載并安裝腳本調(diào)試器” 前面的復(fù)選框取消勾 選即可以繼續(xù)安裝, 待能夠上外網(wǎng)的時(shí)候再說(shuō) (重新
4、打開(kāi)此頁(yè)面的位置在: 開(kāi)始 程序 QuickTest Professional Tools Additional Installation Requirments ),其他三 項(xiàng)必須保留選中,然后點(diǎn)擊【運(yùn)行】按鈕。本來(lái)到這一步應(yīng)該是最后一步了, 但為了能夠正常使用 QTP,我們還要這樣做。 當(dāng)點(diǎn)擊“運(yùn)行”的下一步,會(huì)彈出“運(yùn)行許可證安裝向?qū)А?,選擇第一個(gè)選項(xiàng) 點(diǎn)擊【下一步】 ,如圖二所示:圖二:運(yùn)行許可證安裝向?qū)У谝徊皆冱c(diǎn)一次下一步,見(jiàn)到圖三:圖三:輸入許可證密鑰再在安裝壓縮包中找到 mgn-mqt82.exe 文件,將其 copy 到路徑: C:Program FilesCommon Fi
5、lesMercury Interactive 下,在這個(gè)目錄下一般都會(huì)存在一個(gè)名叫 “ License Manager ”的文件夾,如果沒(méi)有請(qǐng)手工創(chuàng)建。然后執(zhí)行mgn-mqt82.exe 文件,他會(huì)在“ License Manager ” 文 件 夾 中 生 成 名 為 “ lservrc ” 的 文 件 , 將 其 打 開(kāi) 。 例 如 : X8AWUP6RQ763KBKC7OS5CEYACKV8P5MSABJT4QSNJ7X8NYZNKZ58CXPJHDQSTJO73Y6QVX R5BR# QuickTestPro version 6.0, no expiration date, exclu
6、sive6O54XNSPNDI8RUIZWNAFRJTY4KJIWHM6KXCHWFNLUFE4H6ZMR2GCUCCV7DL8XGJIK6 E2LM# FT-Unified version 1.0, no expiration date, exclusive我們?nèi)?文檔中 第一個(gè) 出現(xiàn)“#” 的位置,copy“#”之 前的字符串,例 如: X8AWUP6RQ763KBKC7OS5CEYACKV8P5MSABJT4QSNJ7X8NYZNKZ58CXPJHDQSTJO73Y6QVXR5BR”,到圖三中粘貼到輸入框內(nèi),然后不用管任何提示,下一步到安裝完成。到這一步,你的 QTP已經(jīng)安裝成功,趕緊去
7、試用一下吧。 (根據(jù)以往經(jīng)驗(yàn),個(gè)別機(jī) 器需要重啟計(jì)算機(jī),大多數(shù)都不用。 )2、你的“ HelloWorld費(fèi)勁周折的安裝好工具是不是有點(diǎn)喜悅呢?別急, 更喜悅的還在后面, 下面請(qǐng)跟我共同 小用一下被 HP稱(chēng)作“寶刀屠龍” 的QTP吧。(編者注:“神劍倚天”即是業(yè)內(nèi)傳頌的 LoadRunner, 當(dāng)然本故事純屬編者夢(mèng)囈,請(qǐng)勿當(dāng)真)首先,開(kāi)啟我們的“ HelloWorld ”之旅吧。第一步:創(chuàng)建腳本文件,點(diǎn)擊“ New”按鈕,如圖所示。第二步:保存腳本文件,菜單項(xiàng): 。提示:請(qǐng)將 QTP默認(rèn)存放腳本的路徑改成其他盤(pán)符,以 免系統(tǒng)崩潰造成不必要的損失。第三步: QTP操作界面簡(jiǎn)介:1、Add in
8、Manager 插件管理界面 程序啟動(dòng)后程序會(huì)停留在插件選擇的界面該頁(yè)面由用戶(hù)選擇需要加載的插件。這是一個(gè) QTP插件管理器,每次啟動(dòng)前需要選擇對(duì)應(yīng)的插件才能進(jìn)行測(cè)試。插件的含義與作用:Add-in 的選擇是為了能夠成功識(shí)別對(duì)應(yīng) Add-in 的測(cè)試對(duì)象控件,也就是說(shuō)是和被測(cè)控件有 關(guān),而跟什么什么語(yǔ)言寫(xiě)的是沒(méi)有關(guān)系的。2、QTP開(kāi)始頁(yè) 選擇好插件后點(diǎn)擊 OK按鈕就會(huì)出現(xiàn)以下界面(1)用 1 框選中的區(qū)域是我們常見(jiàn)的菜單欄和工具欄,也是我們最常用的地方下一課時(shí)我 將對(duì) qtp 中比較重要的一些菜單進(jìn)行講解。(2)用 2框選的區(qū)域是我們目前所打開(kāi)和創(chuàng)建的一些qtp 文件,由選項(xiàng)卡形式呈現(xiàn)出來(lái)在我
9、們?cè)僮鲆粋€(gè)項(xiàng)目時(shí),常常是由多個(gè)文件組成,這時(shí)就在 2 區(qū)域來(lái)回切換比較方便。(3)3 區(qū)域是由幾個(gè)打開(kāi)和新建 qtp 文件的快捷菜單按鈕。 前 4 個(gè)為新建, 后 4 個(gè)為打開(kāi)。 創(chuàng)建有些 qtp 文件時(shí)需要與 qc 連接,在以后的課程會(huì)具體提到。(4)4 區(qū)域是創(chuàng)建幾種 qtp 類(lèi)型文件的向?qū)?。不做重點(diǎn)。(5)該區(qū)域用來(lái)顯示最近打開(kāi)的 qtp 文件(6)該區(qū)域顯示 qtp10.0 一些新的東西的說(shuō)明??梢陨晕⒘私?。3、test 項(xiàng)目界面菜單,新建 Test 類(lèi)型 qtp 項(xiàng)目文件,或者使用快捷鍵 Ctrl+N,或者使用開(kāi)始頁(yè)的快捷菜單新 建,或者使用菜單欄中的 new 按鈕新建(供大家選擇)
10、新建后我們會(huì)看到如下的界面(1)1 區(qū),主要是菜單欄和工具欄,下面簡(jiǎn)單介紹下工具欄中的按鈕作用。(2)2 區(qū),該區(qū)類(lèi)似于 vs中的解決方案資源管理器,用來(lái)顯示項(xiàng)目的組成目錄、可用的關(guān) 鍵字以及一些測(cè)試資源,通過(guò)該界面一目了然。(3)3 區(qū),該區(qū)屬于我們的工作區(qū)之一,該區(qū)域有兩種視圖模式,分別是keyword view (關(guān)鍵字視圖)和 Expert View (專(zhuān)家視圖) 。關(guān)鍵字視圖主要顯示每個(gè)步驟的操作對(duì)象操作方法 和值可以很直觀的看到,專(zhuān)家視圖主要是把關(guān)鍵字視圖中的所有內(nèi)容用代碼形式體現(xiàn)出來(lái)。 我們通常用到的是專(zhuān)家視圖。(4)4 區(qū),該區(qū)由圖可以很直觀的看到, 分為數(shù)據(jù)表、 to do
11、、信息欄、 缺少的資源、 快照。 數(shù)據(jù)表主要用來(lái)存放數(shù)據(jù)用的, 可以在測(cè)試時(shí)調(diào)用數(shù)據(jù)表中我們所設(shè)置的數(shù)據(jù), 達(dá)到參數(shù)化 的目的。 Todo 暫不做了解,該工具也是 qtp 中比較誘人的一塊,以后可能會(huì)提到它。信息 欄,我們?cè)跈z查腳本語(yǔ)法編譯情況時(shí),若有錯(cuò)誤會(huì)在該區(qū)域中顯示。missing Resources 區(qū),用來(lái)顯示我們當(dāng)前打開(kāi)的 qtp 項(xiàng)目所缺少的資源。 Active Screen 快照區(qū), qtp 錄制時(shí)的一些 快照, 錄制結(jié)束后, 可以在快照中進(jìn)行檢查點(diǎn)的插入等操作,不用在錄制狀態(tài)進(jìn)行插入,錄制時(shí)所抓取的快照,受 tools-options 菜單中的 active Screen 配
12、置有關(guān),具體可以到該菜單下 去了解。主要是新建開(kāi)打保存菜單按鈕剪貼復(fù)制粘貼第一個(gè)按鈕沒(méi)試過(guò)( qtp 啟用編輯狀態(tài))第二個(gè)按鈕會(huì)常用到對(duì)應(yīng)菜單,用來(lái)設(shè)這運(yùn)行策 略、資源、環(huán)境、參數(shù)等配置。后面有用到的地方會(huì)具體講解撤銷(xiāo)注釋?zhuān)蜂N(xiāo)注釋?zhuān)檎?,替換各種窗口顯示按鈕, 各位將每個(gè)按鈕都點(diǎn)擊一片, 在觀察窗口有什么變化就知道了。 也是 一個(gè)比較常用的菜單。開(kāi)始錄制腳本、運(yùn)行腳本、停止腳本錄制。經(jīng)常會(huì)用模擬錄制和低級(jí)錄制, 在有些場(chǎng)合, 對(duì)象識(shí)別不了, 我們可以使用模擬錄制和低級(jí)錄制方 法來(lái)解決,但是這種錄制方法受軟件所處的坐標(biāo)等因素影響,不建議使用。不靈活 腳本運(yùn)行結(jié)果和對(duì)象庫(kù), 對(duì)象庫(kù)是用來(lái)存放錄制
13、時(shí)所操作的對(duì)象, 也是 qtp 程序中最主要 的東西之一。第十一區(qū)對(duì)應(yīng)的是插入輸入值、檢查點(diǎn),插入或調(diào)用新操作,切割A(yù)ction ,步驟生成器輸出值和檢查點(diǎn)主要是對(duì)某對(duì)象的值輸出和檢查某對(duì)象的值,插入或調(diào)用新 Action 以及切 割 Action 在后面課程會(huì)具體介紹暫用不上, 步驟生成器是用來(lái)生成腳本的, 例如 qtp 自身帶 的一些對(duì)象和方法, 就可以用步驟生成器輸入?yún)?shù)生成調(diào)用該方法的一段腳本, 不知道所調(diào) 用 qtp 自帶的方法怎么使用可以點(diǎn)擊該界面的一個(gè)問(wèn)號(hào)按鈕,就可以找到對(duì)象的幫助文檔。 第十二區(qū)是用來(lái)插入事務(wù)的,與 LR 中的事務(wù)一樣, qtp 中的事務(wù)也主要是為 LR調(diào)用 q
14、tp 時(shí) 所用。這里不多介紹最后一區(qū)對(duì)應(yīng)的是 選項(xiàng), 檢查編譯, 對(duì)象間諜插件。 選項(xiàng)對(duì)應(yīng) Tools-options 菜單后面的課 程會(huì)講解幾個(gè)重要的菜單會(huì)詳細(xì)講解它。 檢查編譯是對(duì)當(dāng)前的腳本進(jìn)行錯(cuò)誤檢查, 看編譯是 否通過(guò), 是否有語(yǔ)法錯(cuò)誤, 若有錯(cuò)誤會(huì)在 information 區(qū)顯示出來(lái)。 對(duì)象間諜工具比較重要, 也是經(jīng)常會(huì)用到的地方,主要用來(lái)查看被測(cè)對(duì)象的屬性等信息 第四步:開(kāi)始錄制、回放腳本。1、點(diǎn)擊【 Record】按鈕。默認(rèn)彈出設(shè)置窗口,對(duì)錄制和回放進(jìn)行設(shè)置,如下圖:設(shè)置項(xiàng)解釋?zhuān)?錄制并運(yùn)行已經(jīng)打開(kāi)的瀏覽器,打開(kāi)瀏覽器的操作需要手工介入。 打開(kāi)瀏覽器的操作由 QTP來(lái)執(zhí)行,如圖
15、所示,我們只需設(shè)置 URL和瀏覽器類(lèi)型即可, 例如:,瀏覽器類(lèi)型使用默認(rèn)的 IE。2、開(kāi)始錄制,你只需按照你預(yù)想的操作步驟完成一次操作, QTP便會(huì)記錄下操作軌跡, 同時(shí)生成腳本代碼。3、回放代碼,點(diǎn)擊【 Run】按鈕即可回放, QTP 會(huì)按照之前錄制的步驟重新播放一次 操作步驟。錄制完腳本后,你應(yīng)該繼續(xù)了解:1、學(xué)會(huì)查看兩種方式的腳本視圖(關(guān)鍵字圖和專(zhuān)家視圖),我們經(jīng)常用到的是專(zhuān)家視圖,也稱(chēng)代碼視圖。2、學(xué)會(huì)查看腳本內(nèi)容腳本生成方式: 實(shí)際上,腳本的生成是按照樹(shù)形結(jié)構(gòu)的方式安排的,這個(gè)情況可以 與對(duì)象庫(kù)對(duì)應(yīng)觀察。這種模式的好處就在于,無(wú)論有多少個(gè)測(cè)試對(duì)象,無(wú)論測(cè)試對(duì) 象的位置多復(fù)雜,都可以很
16、快的通過(guò)這種唯一路徑迅速找到,便于定位。也為 QTP 的高級(jí)應(yīng)用描述性編程做好了鋪墊。腳本過(guò)程解釋?zhuān)涸谳斎肟蜉斎胗脩?hù)名“ oicq997 ”。在輸入框輸入密碼“ * ”。點(diǎn)擊【登錄】按鈕。彈出的安全警報(bào)對(duì)話框。第二個(gè)彈出的安全警報(bào)對(duì)話框。登出操作Sync 的意思是等待頁(yè)面刷新完成。關(guān)掉瀏覽器。3、學(xué)會(huì)查看對(duì)象庫(kù)對(duì)象庫(kù)是 QTP 非常關(guān)鍵的技術(shù), 他能夠?qū)⒁阎拇蟛糠志W(wǎng)頁(yè)空間做成標(biāo)準(zhǔn)的對(duì)象類(lèi), 通過(guò)頁(yè)面不同對(duì)象的屬性來(lái)區(qū)分實(shí)際對(duì)象。 QTP的對(duì)象庫(kù)也是按照樹(shù)形結(jié)果排列的, 這與腳本的結(jié)構(gòu)是一致的。4、學(xué)會(huì) DEBUG,與其他編程語(yǔ)言基本一致。5、學(xué)會(huì)插入檢查點(diǎn), 檢查點(diǎn)是 QTP用來(lái)設(shè)置我們測(cè)試
17、過(guò)程中需要驗(yàn)證的某一步驟。 支持如下幾種檢查點(diǎn)的類(lèi)型。QTP6、學(xué)會(huì)使用 Object Sby ,非常重要的一個(gè)功能,在編寫(xiě)腳本的時(shí)候會(huì)經(jīng)常用到。使用方法: 點(diǎn)擊紅框中的手指按鈕, QTP會(huì)切到瀏覽器頁(yè)面, 用小手點(diǎn)擊哪個(gè)控件, 哪個(gè)空間的屬性信息就會(huì)被讀取出來(lái)。NativeProperties :顯示在執(zhí)行測(cè)試對(duì)象的時(shí)候所獲取的測(cè)試對(duì)象的屬性和方法。 IdentificationProperties :顯示在錄制或編寫(xiě)測(cè)試步驟時(shí)所獲取的測(cè)試對(duì)象的屬性和 方法。至此, QTP 的基本功能已經(jīng)交代完畢,要想了解更多,請(qǐng)SVN下載更多的資料繼續(xù)學(xué)習(xí)。 SVN 路徑: svn:/
18、49/Autotest/DCSM_Autotest/02 New Tester Readme/ 自動(dòng)化測(cè) 試-新手包 /03 資料查閱 /QTP 基礎(chǔ),推薦文檔: QTP8 Tutorial_cn.pdf 二、初出茅廬,小試牛刀至此 QTP 的基礎(chǔ)知識(shí)已經(jīng)普及的差不多了,從現(xiàn)在開(kāi)始進(jìn)入實(shí)戰(zhàn)狀態(tài),請(qǐng)各位打起精 神來(lái)。實(shí)戰(zhàn)部分將分為兩個(gè)部分介紹:自動(dòng)化測(cè)試的框架介紹和 QTP的高級(jí)應(yīng)用 -描述性編 程。1框架介紹在實(shí)際的工作中, 光有一件稱(chēng)手的武器是不夠的, 我們往往還需要準(zhǔn)備一本能夠駕馭這 件武器的秘籍,才能將武器發(fā)揮到極致。也就是說(shuō),如何能夠使 QTP 應(yīng)用到實(shí)戰(zhàn)當(dāng)中去為 我們發(fā)揮它的作用呢,
19、 這就需要有一個(gè)比較合適的框架來(lái)規(guī)范我們的測(cè)試行為, 使自動(dòng)化測(cè) 試有章可循、有法可依。解決方案概述用 VBS的 Function 代替 QTP腳本中的 Action 。? 不使用 Action 復(fù)用,而使用 Function 的加載和調(diào)用。直接減少 QTP 腳本的數(shù)量。 使用單一的 QTP腳本入口。? 這樣整個(gè)工程中, 就只有一個(gè) QTP腳本,其他的都是 VBS文件, 并且沒(méi)有了過(guò)多的 Excel文件。確保冗余文件達(dá)到最少。數(shù)據(jù)文件統(tǒng)一維護(hù)。? 將所有腳本需要用到的測(cè)試數(shù)據(jù)統(tǒng)一放到一個(gè)或多個(gè) Excel 文件中,方便了維護(hù), 同時(shí)也減少了 Excel 文件的數(shù)量。利用描述性編程代替手工錄制?
20、 可編程性有利于腳本的拓展和管理,可以處理相對(duì)復(fù)雜的檢查點(diǎn)。? 可以舍棄占用空間大,維護(hù)不方便的對(duì)象庫(kù)??蚣軋D示體系結(jié)構(gòu)Test Set 驅(qū)動(dòng)腳本? 初始化? 解析 Test Set 的數(shù)據(jù)文件? 調(diào)用 TestCase驅(qū)動(dòng)腳本,向它傳遞測(cè)試用例的文件名? 如果有必要,調(diào)用框架所必需的庫(kù)函數(shù)TestCase 驅(qū)動(dòng)腳本? 解析 TestCase的數(shù)據(jù)文件? 根據(jù) TestCase的解析結(jié)果,加載測(cè)試腳本,加載測(cè)試數(shù)據(jù)? 根據(jù) TestCase的內(nèi)容,調(diào)用 Task 的測(cè)試腳本,并且把測(cè)試數(shù)據(jù)的集合傳遞給測(cè) 試腳本? 如果有必要,調(diào)用框架所必需的庫(kù)函數(shù)Task 測(cè)試腳本? 執(zhí)行指定的任務(wù)(如輸入數(shù)
21、據(jù),點(diǎn)擊按鈕等)? 生成日志,以及測(cè)試報(bào)告? 如果需要?jiǎng)t調(diào)用用戶(hù)自定義庫(kù)函數(shù)庫(kù)函數(shù)? 一般的和具體應(yīng)用程序的函數(shù)可以被調(diào)用,以執(zhí)行指定的任務(wù)??蚣艿拇鎯?chǔ)結(jié)構(gòu)解釋?zhuān)? Project 文件夾,整個(gè)工程的最高一級(jí)目錄,名稱(chēng)可以修改。? Driver 目錄,這個(gè)是 QuickTest 的腳本文件, 整個(gè)框架的入口。 這個(gè)腳本包含了 testSet 和 testcase 的驅(qū)動(dòng)腳本。? frameUtil 目錄,存放用來(lái)支持框架的一些函數(shù)庫(kù)。? logs 目錄,存放腳本運(yùn)行日志? testData 目錄,存放測(cè)試用例以及測(cè)試數(shù)據(jù)的 Excel 文件? testScript 目錄,存放 task 腳本,
22、全部存儲(chǔ)為 vbs 文件。? driver.vbs 文件,使用了 QTP 的 automation object model ,也是整個(gè)框架的入口???以直接執(zhí)行該 vbs 腳本,因此可以做成 Windows 的自動(dòng)任務(wù),在指定時(shí)間點(diǎn)執(zhí)行。 注意: testData 和 testScript 目錄下的內(nèi)容,是真正需要開(kāi)發(fā)的。數(shù)據(jù)的組織Test SetCaseTest Datasheet 名為: genloginSheet 名為: OpenAccount解釋?zhuān)篢EST SE:T? Test Set數(shù)據(jù)文件是用來(lái)管理測(cè)試用例文件的,在這里,扮演了TD 的管理測(cè)試用例和腳本的角色。 很顯然, 這個(gè)數(shù)
23、據(jù)文件沒(méi)有 TD 的功能強(qiáng)大, 不能體現(xiàn)測(cè)試用例對(duì)需 求的覆蓋,沒(méi)有測(cè)試用例之間的樹(shù)形結(jié)構(gòu) 但是作為一個(gè)輕量級(jí)的測(cè)試框架,只要 能夠記錄、管理 50100 個(gè)測(cè)試用例文件,就暫時(shí)夠用了。? IDX: index,“”表示該行數(shù)據(jù)有效, “ x”表示該行數(shù)據(jù)無(wú)效。主要是考慮到Excel直接面對(duì)人,用 0, 1 來(lái)標(biāo)識(shí)有效無(wú)效,很不直觀。? name :測(cè)試用例的名字,用中文標(biāo)示即可,這個(gè)字段只是讓人看起來(lái)比較直觀,并 不會(huì)被用到。Excel的文件名??梢詭Ш缶Y,? table :這個(gè)字段非常重要,它指向測(cè)試用例所在的 也可以不帶后綴。不需要指定文件所在的路徑。? sheet :表示測(cè)試用例在 E
24、xcel 文件的 Sheet 名稱(chēng)。如果不填寫(xiě)的話,默認(rèn)為第一個(gè) Sheet。? 考慮到有些測(cè)試用例極其復(fù)雜, 僅僅使用 Excel 形式的測(cè)試用例是遠(yuǎn)遠(yuǎn)不能實(shí)現(xiàn)其復(fù) 雜的邏輯, 也可以把測(cè)試用例寫(xiě)成 vbs文件,直接執(zhí)行該 vbs 腳本。目前暫未實(shí)現(xiàn)。 TEST CASE:? TestCase數(shù)據(jù)文件中記錄的就是測(cè)試用例,只要不是太過(guò)于復(fù)雜的測(cè)試流程,都可 以直接寫(xiě)在 Excel 文件中,當(dāng)然,需要符合一定的規(guī)范,很顯然,這離自然語(yǔ)言還是 有一定的距離 。這種形式比較適合 step-by-step 的測(cè)試用例,并且粒度比較粗,減 少了測(cè)試用例的步驟數(shù)。? IDX: index,“”表示該行數(shù)
25、據(jù)有效, “ x”表示該行數(shù)據(jù)無(wú)效。? bizName :被測(cè)試的業(yè)務(wù)的名稱(chēng),比如說(shuō)“銀行收款”這個(gè)業(yè)務(wù)。事實(shí)上,這個(gè)名 稱(chēng)需要與存儲(chǔ)改業(yè)務(wù)的 task 腳本的名稱(chēng)保持一致,而且需要與task 腳本中定義的class 的名稱(chēng)也保持一致。在沒(méi)有做名稱(chēng)的中英文對(duì)照字典之前,bizName 最好使用英文名,所以最好使用“ collection ,”而不是 “銀行收款 ”。? taskName : task 的名稱(chēng),原子業(yè)務(wù)的名稱(chēng),比如新增、修改、刪除等。這個(gè)名稱(chēng)與 task腳本中定義的各個(gè) Function 的名稱(chēng)應(yīng)該保持一致。同樣,暫時(shí)也最好不要使用 中文。? bizDataTable:測(cè)試數(shù)據(jù)所
26、在的 Excel 的 Sheet 名稱(chēng)。比如說(shuō)進(jìn)行登陸操作時(shí),需要 輸入用戶(hù)名和密碼等數(shù)據(jù),這些數(shù)據(jù)單獨(dú)放在某個(gè)Excel文件中的某個(gè) Sheet 中,把這個(gè) Sheet 的名稱(chēng)寫(xiě)到 bizDataTable 這個(gè)字段中即可,框架會(huì)自動(dòng)去加載這個(gè)Sheet中的所有數(shù)據(jù)。? filter :測(cè)試數(shù)據(jù)的過(guò)濾條件??赡軠?zhǔn)備的測(cè)試數(shù)據(jù)比較多,但是在當(dāng)前這一個(gè) step 中,只需要執(zhí)行某一條或幾條數(shù)據(jù),就可以使用 filter 這個(gè)條件。比如說(shuō),登陸時(shí), 想用錯(cuò)誤的用戶(hù)名和密碼來(lái)登陸,那么可以這樣寫(xiě):用戶(hù)類(lèi)型=baduser 。當(dāng)然“用戶(hù)類(lèi)型”是測(cè)試數(shù)據(jù)所在 Excel 表格中定義過(guò)了的字段。TEST
27、DATA:? Test data 數(shù)據(jù)文件,用來(lái)存放測(cè)試數(shù)據(jù)。沒(méi)有區(qū)分輸入數(shù)據(jù)、驗(yàn)證數(shù)據(jù)、以及輸出 數(shù)據(jù),總之,只要是測(cè)試過(guò)程中,需要用到的數(shù)據(jù),都一古腦的做成一行,放到這 個(gè)文件中。一是覺(jué)得這樣在設(shè)計(jì)測(cè)試數(shù)據(jù)時(shí),比較方便和直觀,二是也沒(méi)有更好的 設(shè)計(jì)思想。? 對(duì)業(yè)務(wù)的驗(yàn)證,按照設(shè)想,是通過(guò)日志文件和測(cè)試報(bào)告來(lái)體現(xiàn)的。所以把驗(yàn)證數(shù)據(jù) 與輸入數(shù)據(jù)放到一起,亦不會(huì)有太大的不妥。數(shù)據(jù)文件總結(jié):? 基于把測(cè)試設(shè)計(jì)和腳本開(kāi)發(fā)分開(kāi)的思路, 設(shè)計(jì)了這三個(gè) Excel表格。 測(cè)試設(shè)計(jì)時(shí), 主 要是設(shè)計(jì) testcase 和 test data 這兩個(gè) Excel表格。 畢竟, 這才是自動(dòng)化測(cè)試最核心的 價(jià)值所
28、在。腳本寫(xiě)得再完美,沒(méi)有好的測(cè)試設(shè)計(jì)、測(cè)試數(shù)據(jù),對(duì)測(cè)試本身并不會(huì)有 太大的幫助。因此,希望盡可能把這些Excel 表格做得更易用。所謂的框架,就是把這 3 個(gè) Excel 表格串起來(lái)的東西。驅(qū)動(dòng)腳本的邏輯Test Set 驅(qū)動(dòng)腳本偽碼 :將 test set 數(shù)據(jù)所在的整個(gè) Sheet加載到 QuickTest的 Runtime Table 中。檢查 test set 數(shù)據(jù)文件中一共有多少行記錄需要執(zhí)行。讀取一行數(shù)據(jù)。如果該行的 IDX 的值為“”,那么調(diào)用執(zhí)行 TestCase驅(qū)動(dòng)腳本,并且把測(cè)試用例所 在的 Excel 文件名和 Sheet 名作為參數(shù)傳給 TestCase腳本。轉(zhuǎn)向第 3
29、 步,直到所有數(shù)據(jù)被執(zhí)行完畢。刪除加載到 Runtime Table 中的所有數(shù)據(jù)。TestCase 驅(qū)動(dòng)腳本偽碼 :1. 將 TestCase所在的 Sheet 加載到 QuickTest 的 RunTime Table 中。檢查 TestCase數(shù)據(jù)文件中一共有多少行記錄需要執(zhí)行。遍歷整個(gè) Sheet,加載所有需要被用到的 Task腳本:逐行讀取有效數(shù)據(jù)( IDX= “),” 如果 bizName 的值所指向的 Task 腳本沒(méi)有被加載,那么加載之,直到所有數(shù)據(jù)被執(zhí) 行完畢。遍歷整個(gè) Sheet,加載所有需要被用到的 Test data數(shù)據(jù):逐行讀取有效數(shù)據(jù) (IDX=“),” 如果 bi
30、zDataTable 的值所指向的 Sheet(該 Sheet 的名稱(chēng)應(yīng)該在本測(cè)試用例中是唯一 的)沒(méi)有被加載到 RunTime Table 中,那么加載之,直到所有數(shù)據(jù)被執(zhí)行完畢。獲取一行的測(cè)試步驟的數(shù)據(jù)。如果該行的 IDX的值為“” ,那么解析 filter 信息,形成條件語(yǔ)句。逐行讀取 test data 所在的 Sheet,如果該行數(shù)據(jù)是滿足條件語(yǔ)句的,那么調(diào)用Task腳本,執(zhí)行對(duì)應(yīng)的操作。轉(zhuǎn)向第 5 步,直到所有數(shù)據(jù)被執(zhí)行完畢。刪除加載到 Runtime Table 中的所有 Sheet。Task 腳本說(shuō)明腳本結(jié)構(gòu)很簡(jiǎn)單,與其他市面上常用的代碼結(jié)構(gòu)非常類(lèi)似。 首先要定義一個(gè)類(lèi),類(lèi)名要
31、與腳本名稱(chēng)一致。目的主要是為了在調(diào)用某個(gè) Function 時(shí), 如開(kāi)戶(hù)( toOpenAccout ),會(huì)去找指定 Class的 toOpenAccout 方法,而不會(huì)出現(xiàn)找錯(cuò)的情況。 一般情況下,一個(gè)功能模塊只對(duì)應(yīng)一個(gè)類(lèi)。例如, 用戶(hù)管理的增刪改查功能模塊, 腳本名稱(chēng) 建議起作 AccoutManagement.vbs, 那么 class 的名稱(chēng)也要對(duì)應(yīng)的起作 AccoutManagement 。其次,在類(lèi)中加入方法,類(lèi)中方法的數(shù)量與名稱(chēng)要根據(jù)業(yè)務(wù)的實(shí)際需要,視情況而定。例如,用戶(hù)管理的增刪改查,我們可以在類(lèi)中加入四個(gè)方法,即:toOpenAccout(Sheet_Name) ,toDel
32、Accout(Sheet_Name) ,中,方法的參數(shù)是固定的所以為了配合框架的功能toChangeAccount(Sheet_Name) , toFindAccount(Sheet_Name) 。其Sheet_Name”,這個(gè)參數(shù)是用來(lái)接收被我們參數(shù)化的測(cè)試數(shù)據(jù),Task 方法的參數(shù)有且只有一個(gè)參數(shù),不支持多個(gè)參數(shù)。各個(gè)Function 腳本,需要全部使用描述性編程來(lái)實(shí)現(xiàn),不能采用錄制的方式生成。 最后, 能夠公用的方法盡量提取出來(lái)放到公共類(lèi)中, 以便減少重復(fù)代碼, 增加代碼的利 用率,節(jié)約開(kāi)發(fā)和管理成本。切記,這一點(diǎn)非常重要。例如,登錄和注銷(xiāo)操作即可以當(dāng)做公 共方法,公共方法的放置地點(diǎn)一般
33、在框架文件結(jié)構(gòu).testScriptDCSM文件夾下。腳本模板:用戶(hù)管理模塊Class AccoutManagement用戶(hù)管理 開(kāi)戶(hù)的 TaskFunction toOpenAccout(Sheet_Name)Msgbox(DataTable( 用戶(hù)“名 ” ,Sheet_Name)End Function用戶(hù)管理 刪除用戶(hù)的 TaskFunction toDelAccout(Sheet_Name)Msgbox(DataTable( 用戶(hù)“名 ” ,Sheet_Name)End FunctionEnd Class框架情況總結(jié)? 優(yōu)勢(shì): 腳本文件少,占用的空間也少,方便管理和維護(hù)。 可以使用版
34、本控制工具對(duì)單個(gè)的數(shù)據(jù)文件或者vbs 文件進(jìn)行版本控制。 測(cè)試設(shè)計(jì)和腳本開(kāi)發(fā)解耦。 測(cè)試用例和數(shù)據(jù)的展現(xiàn)更加人性化。? 缺點(diǎn): 異常的捕獲考慮得很少。 日志只是輸出到文件,不利于查看。如果把日志輸出到數(shù)據(jù)庫(kù),就可以生成相應(yīng)的 測(cè)試執(zhí)行報(bào)告。 測(cè)試用例的管理太過(guò)于簡(jiǎn)陋。 無(wú)法定制測(cè)試報(bào)告。2 QTP的高級(jí)應(yīng)用 描述性編程在這個(gè)文檔中,我只做簡(jiǎn)單的概述,相關(guān)資料請(qǐng)查閱: svn:/49/Autotest/DCSM_Autotest/02 New Tester Readme/ 自動(dòng)化測(cè)試 -新手包/03 資料查閱 / 描述性編程相關(guān) 描述性編程的意義:說(shuō)白了就是丟掉QTP 在錄制
35、過(guò)程中存儲(chǔ)的對(duì)象庫(kù),采用一種描述的方式來(lái)表達(dá)瀏覽器上的控件。描述編程的實(shí)質(zhì):就是利用測(cè)試對(duì)象(瀏覽器控件,例如WebButton 等)本身的屬性來(lái)定位測(cè)試過(guò)程中的控件,例如登錄按鈕其中有個(gè)屬性叫“name”,值為“ login ”,QTP提供一種方式來(lái)描述這個(gè)按鈕。描述性編程的具體格式和做法, 請(qǐng)參閱資料文檔, 這里就不做贅述了。 推薦文檔: QTP 描述性編程介紹 .pdf三、木已成舟,只欠東風(fēng)實(shí)際上, 以上的文檔應(yīng)該足以應(yīng)付我們的自動(dòng)化測(cè)試工具了,但總覺(jué)得差了點(diǎn)東西。 什么東西呢?對(duì), 那就是經(jīng)驗(yàn)和技巧了。 在這一章節(jié), 我將主要針對(duì)在實(shí)際工作中能夠應(yīng)用 到的相關(guān)經(jīng)驗(yàn)和技巧做以說(shuō)明。讓大家
36、少走彎路,盡快上手。1. 理論知識(shí)都懂了,在實(shí)際工作中將如何開(kāi)始自動(dòng)化測(cè)試之旅呢?答:前提: QTP已經(jīng)成功安裝。準(zhǔn) 備 測(cè) 試 框 架 。 將 自 動(dòng) 化 測(cè) 試 框 架 從 SVN 中 check 下 來(lái) 。 地 址 是 : svn:/49/Autotest/DCSM_Autotest/DCNAutoTestFrame 。建議將框架的目錄,也 就是 project 目錄直接放到某個(gè)盤(pán)符的根目錄下, 這樣有助于框架尋找定位數(shù)據(jù)表和 Task 腳本。對(duì)照以上的框架介紹,熟悉框架內(nèi)容。3)此時(shí),如果測(cè)試用例已經(jīng)設(shè)計(jì)完畢則直接拿著測(cè)試用例進(jìn)入編碼工作。如果沒(méi)有,則先 設(shè)計(jì)測(cè)試用
37、例(測(cè)試用例的設(shè)計(jì)技巧稍后奉上) ,在進(jìn)行腳本開(kāi)發(fā),我們不推薦沒(méi)有用 例直接開(kāi)發(fā)腳本,這樣很可能造成文不對(duì)題而進(jìn)行不必要的返工。4)設(shè)計(jì)測(cè)試用例是需要評(píng)審的, 無(wú)論是同一設(shè)計(jì)或者是單獨(dú)設(shè)計(jì)都需要至少將測(cè)試計(jì)劃中 定義的三個(gè)角色 (測(cè)試(框架)負(fù)責(zé)人、 測(cè)試用例設(shè)計(jì)人員、 自動(dòng)化測(cè)試腳本開(kāi)發(fā)人員) 召集一起進(jìn)行評(píng)審,如果有必要最好請(qǐng)當(dāng)時(shí)手工測(cè)試該模塊的測(cè)試人員一起評(píng)審,審議 通過(guò)夠方可使用。評(píng)審的衡量標(biāo)準(zhǔn)主要是:測(cè)試數(shù)據(jù)的完整性,測(cè)試檢查點(diǎn)設(shè)計(jì)的合理 性,測(cè)試用例覆蓋率的合理性,測(cè)試步驟的是否清晰等。5)測(cè)試腳本需要進(jìn)行三個(gè)步驟才能夠提交至SVN服務(wù)器。首先,不帶測(cè)試數(shù)據(jù)(不在框架中執(zhí)行)的情況
38、下調(diào)試通過(guò),這個(gè)步驟是保證測(cè)試過(guò)程各個(gè)控件對(duì)象識(shí)別的正確性;其 次,在本機(jī)帶上測(cè)試數(shù)據(jù)(將腳本加入框架中執(zhí)行)調(diào)試通過(guò),這個(gè)步驟的要點(diǎn)是保證 用例中提到檢查點(diǎn)的覆蓋程度和測(cè)試數(shù)據(jù)與腳本的匹配程度。最后,提交給負(fù)責(zé)人進(jìn)行 最終審核后,提交至 SVN 服務(wù)器,這一步重點(diǎn)保證腳本格式是否正確、注釋是否完備、 是否有重大檢查點(diǎn)遺漏等。6)最終腳本的執(zhí)行統(tǒng)一由測(cè)試(框架)負(fù)責(zé)人來(lái)負(fù)責(zé)。7)測(cè)試報(bào)告的搜集和發(fā)布也統(tǒng)一由測(cè)試(框架)負(fù)責(zé)人來(lái)負(fù)責(zé)。2設(shè)計(jì)自動(dòng)化測(cè)試用例有何技巧?答:最好是找到該模塊的測(cè)試人員, 要一份之前通過(guò)評(píng)審的測(cè)試用例。 我們可以以此為基準(zhǔn) 設(shè)計(jì)我們的測(cè)試用例。 實(shí)際上, 兩種測(cè)試用例的內(nèi)
39、容是差不多的, 只是側(cè)重點(diǎn)和表達(dá)方式不 同罷了。 這樣的好處在于, 能夠最大程度的重用或借鑒之前的測(cè)試用例, 節(jié)省出來(lái)精力和時(shí) 間用來(lái)設(shè)計(jì)測(cè)試數(shù)據(jù), 自動(dòng)化測(cè)試用例的重點(diǎn)在于能夠建立有效、 完備的數(shù)據(jù)驅(qū)動(dòng), 道理就 在這。在設(shè)計(jì)測(cè)試數(shù)據(jù)時(shí), 我們不要求把每個(gè)輸入框的各種情況都要覆蓋, 但要求在這個(gè)測(cè)試 用例中至少要將出現(xiàn)的各種輸入異??紤]全面。最好用某種方式將測(cè)試數(shù)據(jù)規(guī)劃清楚。 例如“管理員開(kāi)戶(hù)” 的案例中用到的等價(jià)類(lèi)劃分 法。這樣的好處在于可以更加清晰,全面的設(shè)計(jì)測(cè)試數(shù)據(jù),提高測(cè)試有效性。3腳本開(kāi)發(fā)的三字箴言。腳本的開(kāi)發(fā)大體分為四步:找對(duì)象;編邏輯;寫(xiě)報(bào)告;入框架。 第一步:找對(duì)象。千萬(wàn)不要
40、誤會(huì),我們這里的對(duì)象應(yīng)該理解為測(cè)試對(duì)象,也就是 web 控件。根據(jù)本人的經(jīng)驗(yàn),首先要錄一遍測(cè)試步驟,這樣對(duì)象基本加入到 QTP 的測(cè)試庫(kù)中, 以便隨時(shí)查看控件屬性,查找并定位控件。要熟練使用 Object Spy ,這個(gè)工具能夠更完 整的將控件的屬性顯示出來(lái), 而且還能列出該控件支持的所有方法。 其次, 將錄制時(shí)生成的 腳本用描述性編程的方式修改或重寫(xiě)一下, 然后將對(duì)象庫(kù)中的對(duì)象刪除, 腳本依然能夠運(yùn)行, 說(shuō)明找對(duì)象成功。 先錄腳本的另一個(gè)好處是在編程時(shí)不用再考慮測(cè)試步驟的問(wèn)題, 因?yàn)椴襟E 已經(jīng)錄好, 只需專(zhuān)心找控件屬性即可。 還有一個(gè)提示是, 錄完腳本后可以將對(duì)應(yīng)的測(cè)試步驟當(dāng)做注釋 copy 到腳本文件中。 第二步:編邏輯。這里面出現(xiàn)最多的就是“IF else EndIf”了,這里可能會(huì)出現(xiàn)很多個(gè) IF嵌套, 建議這種嵌套最多嵌三層, 如果寫(xiě)多了, 過(guò)一段時(shí)間后即便是開(kāi)發(fā)腳本的人也不一定 能夠很清晰的讀懂這里面的邏輯了。 還有就是寫(xiě)足夠的注釋?zhuān)?至少要讓接受這個(gè)腳本的人能 讀懂。第三步: 寫(xiě)報(bào)告。 QTP 自己集成了一個(gè)報(bào)告生成器, 我們可以在代碼中插入不同類(lèi)型的 報(bào)告描述,例如 Repo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- “十三五”重點(diǎn)項(xiàng)目-大蒜醫(yī)藥生產(chǎn)項(xiàng)目節(jié)能評(píng)估報(bào)告(節(jié)能專(zhuān))
- 2025年度文化旅游區(qū)基礎(chǔ)設(shè)施建設(shè)施工合同
- 保潔綠化托管合同范本
- 加熱快餐采購(gòu)合同范本
- 買(mǎi)賣(mài)門(mén)面定金合同范本
- 分期返現(xiàn)合同范例
- 稽核人員上崗考試復(fù)習(xí)試題含答案
- 公司承包員工入股合同范例
- 臨促勞務(wù)合同范本
- 養(yǎng)魚(yú)加盟合同范本
- 加強(qiáng)網(wǎng)絡(luò)空間治理工作的調(diào)研與思考
- 產(chǎn)后修復(fù)學(xué)習(xí)培訓(xùn)課件
- mysql課件第五章數(shù)據(jù)查詢(xún)
- 超濾培訓(xùn)課件
- 《冠心病的介入治療》課件
- 中醫(yī)防感冒健康知識(shí)講座
- 熱線電話管理制度
- 中建八局分包入場(chǎng)安全指導(dǎo)手冊(cè)v2.0111
- AutoCAD 2020中文版從入門(mén)到精通(標(biāo)準(zhǔn)版)
- 紡絲原液制造工(中級(jí))理論考試復(fù)習(xí)題庫(kù)(含答案)
- 大梅沙河道河道流量水位
評(píng)論
0/150
提交評(píng)論