第一篇:QTP面試題
1)支持那些環(huán)境?
QTP支持以下環(huán)境:
Active X、Delphi、Java、Net、Oracle、People Soft Power Builder、SAP、Siebel、Stingray Terminal Emulator、Visual Basic Visual Age、Web、Web Services
2)QTP的對象庫類型是什么?
QTP支持兩種類型的對象庫:
(1)共享對象庫(也叫全局對象庫)
(2)單例對象庫(也叫局域?qū)ο髱欤?/p>
共享對象庫在處理多次測試中的靜態(tài)對象時適用,擴(kuò)展名是“.tsr”。
默認(rèn)的是單例對象庫,它的擴(kuò)展名是“.mtr”
3)可以在其他測試中用腳本語言調(diào)用QTP測試嗎?假設(shè)有四個測試,我想在一個主腳本中調(diào)用這些測試,這種QTP中可能嗎?
答案是肯定的。你可以在你的測試中調(diào)用四個甚至更多腳本。為了達(dá)到這個目的,需保證相應(yīng)腳本中的Actions是可重用的。然后從目標(biāo)腳本中可以使調(diào)用這些可重用的actions。
4)什么是action split?在QTP中使用action split的目的何在?
Action split將存在的action拆分為兩部分,目的在actions函數(shù)的基礎(chǔ)上提高代碼的可重用性。
5)在QTP中你如何處理Java樹?
首先,選擇 Java Add-In 啟動QTP。第二步記錄在Java樹中的操作,如果在記錄過程中遇到問題,選擇Tools > Object Identification > Java、tree object,強(qiáng)制更改輔助屬性來啟用識別。
提示:對于任何環(huán)境的對象,你都可以把用類似的方法回答。
例如:如果問題是你怎樣檢查SAP多選框,你說,首先我該選擇SAP Add in……等等。
6)解釋一下QTP是如何識別對象的?
QTP識別任何GUI對象基于其相應(yīng)的屬性。當(dāng)記錄的時候,QTP在對象存儲庫的GUI對象中識別并且存儲特殊屬性(如在物體識別設(shè)置中定義的一樣)。在運(yùn)行時,QTP將比較存儲屬性值與屏幕上的屬性。
7)QTP中有多少種記錄模式?分別在什么時候用到?
QTP支持三種記錄模式:
(1)普通模式,也叫上下文模式
(2)低級記錄模式
(3)模擬模式
普通模式:默認(rèn)的記錄模式,充分利用了QTP的試驗(yàn)對象模型。它可識別屏幕任何位置的對象。這是重新編碼的最佳模式,用于大多數(shù)的自動化測試。
低級記錄模式: 這個模式準(zhǔn)確地記錄鼠標(biāo)操作的x,y坐標(biāo)。它有助于測試哈希表。它是用于記錄QTP的正常模式下的不確定對象。
模擬模式:這個模式記錄執(zhí)行關(guān)于屏幕/應(yīng)用程序窗口時鼠標(biāo)和鍵盤的精確“動作”。這種模式對一些操作是很有用的,例如畫畫、記錄簽名、拖放操作。
8)你怎樣在一個action中調(diào)用另一個action?
調(diào)用action有兩種方法:
(1)調(diào)用復(fù)制的action。用這種方法,操作對象存儲庫、腳本和時間戳將被復(fù)制到目標(biāo)測試腳本。
(2)調(diào)用現(xiàn)有的action。用這種方法,操作對象存儲庫、腳本和時間戳不會被復(fù)制,但一個調(diào)用(參考)將在源腳本的action上生成。
9)什么是虛擬對象?
應(yīng)用程序可能包含有著像標(biāo)準(zhǔn)對象行為的對象,但不被QTP識別。您可以把這些對象定義為虛擬對象并將它們映射到標(biāo)準(zhǔn)的類,比如按鈕或一個復(fù)選框。QTP在運(yùn)行的會話中在虛擬對象上模擬用戶的動作。在測試結(jié)果里,虛擬對象被當(dāng)成標(biāo)準(zhǔn)的類對象展示出來。
例如,假設(shè)你想記錄一個測試包含用戶單擊的位圖的Web頁面。位圖包含幾個不同的超鏈接區(qū)域,每個區(qū)域打開一個不同的目的頁面。當(dāng)你記錄一個測試,Web站點(diǎn)匹配單擊位圖的坐標(biāo)并且打開目標(biāo)頁面。
在運(yùn)行的會話中啟用QTP以點(diǎn)擊所需坐標(biāo),你可以為一個區(qū)域的位圖定義一個虛擬對象,其中包括那些坐標(biāo),并將其映射到按鈕類。當(dāng)運(yùn)行一個測試時,QTP單擊一個被定義為虛擬對象位圖所在區(qū)域,這樣網(wǎng)址就可以打開正確的目的地頁面了。
10)如何使用QTP執(zhí)行跨平臺測試和跨瀏覽器測試?你能用一些例子解釋說明嗎?
創(chuàng)建單獨(dú)的Actions,以滿足不同的操作系統(tǒng)和瀏覽器的需要。
跨平臺測試:
用內(nèi)置的環(huán)境變量挖掘操作系統(tǒng)信息。
如:平臺=環(huán)境(“操作系統(tǒng)”)。然后基于平臺需要調(diào)用你記錄在那個特定的平臺的actions。跨瀏覽器測試:
使用代碼Browser(“Core Values”).GetROProperty(“version”),可提取瀏覽器和它的相關(guān)版本。例如:Internet Explorer 6或Netscape 5,基于這個值您可以調(diào)用與瀏覽器相關(guān)的actions。
11)對象的邏輯名字是什么?
邏輯名字是QTP 在庫里創(chuàng)建一個可唯一地與應(yīng)用里的其他對象識別的對象時起的名字。它被QTP用來映射對象庫中對象名相應(yīng)的描述。如:Browser(“Browser”).Page(“Guru99”),在這里,Guru99 是對象的邏輯名字。
12)什么是描述性編程?
通常情況下,一個對象及其屬性必須被記錄在對象資源庫,讓QTP執(zhí)行操作。
用描述性編程,你不用在對象資源庫里儲存對象及其屬性值,而是在腳本里提到屬性值對。描述性編程背后的這種思想不是想繞開對象庫,而是幫助識別靜態(tài)對象。
13)運(yùn)用描述性編程的時候,你用什么屬性來識別瀏覽器網(wǎng)頁?
可以用名字屬性。
如:ex:
Browser(“name:=”xxx“").page(”name:=“xxxx”“).....或者,我們也可以用屬性”micClass“。
如:ex:
Browser(”micClass:=browser“).page(”micClass:=page")....14)在遠(yuǎn)程機(jī)器上使用QTP時,我們能否記錄應(yīng)用的運(yùn)行過程呢?
當(dāng)然可以。你可以通過本地瀏覽器而不是通過像citrix 這樣的遙控器記錄你進(jìn)入的遠(yuǎn)程應(yīng)用。
如果你仍然不能記錄,建議您將QTP 和應(yīng)用安裝在同一個機(jī)器上。
15)用一個例子解釋創(chuàng)建對象的關(guān)鍵詞。
創(chuàng)建并返回一個自動化對象的引用。
語法:CreateObject(servername.typename [,location])
參數(shù):
servername:需要。提供對象的應(yīng)用的名字。
typename:需要。創(chuàng)建對象的類型或者類。
location:可選。創(chuàng)建對象的網(wǎng)絡(luò)服務(wù)器名字。
16)你能在Per-Action 和Shared Object Repository中切換嗎?如果能,怎么切換的?可以轉(zhuǎn)換。找到Test,然后選擇Settings,最后選擇Resources,在這里可以選擇儲存庫了。
17)什么是對象間諜?如何使用它?
對象間諜有助于確定正在被測試的應(yīng)用的運(yùn)行測試時間對象屬性和方法。
您可以直接從工具欄或者對象庫對華康直接訪問對象間諜。
這在描述編程過程中非常有用。
18)光序標(biāo)志符就可以使一個對象獨(dú)一無二,那為什么不給他們頂級優(yōu)先權(quán)呢?為什么它是先強(qiáng)制后輔助的?為什么我們不能直獲取序標(biāo)志符?
因素如下:
(a)如果兩個對象彼此重疊,基于位置的對象識別將失敗。
(b)如果僅基于索引識別你的腳本可以運(yùn)行,但是執(zhí)行時間將增加。
因此使用強(qiáng)制和輔助的特性。
19)在QTP代碼文件中擴(kuò)展名是什么?
代碼的文件擴(kuò)展名是script.mts.20)簡要解釋一下QTP自動化對象模型。
QTP自動化對象模型處理自動化QTP本身。幾乎所有的QTP提供的配置和功能都用QTP自動化對象模型展示。
幾乎所有QTP的對話框有一個相應(yīng)的自動化對象,可以使用自動化對象模型的相關(guān)屬性或者方法設(shè)置或檢索。
QTP自動化對象可以和標(biāo)準(zhǔn)的VB編程元素一起使用,如迭代循環(huán)或條件語句來幫助你設(shè)計(jì)腳本的選擇。
第二篇:QTP腳本語言總結(jié)
個人感覺使用該種方式編寫腳本的一個最大好處就在于省去管理對象庫的成本,但其實(shí)對象這個概念并沒有放棄,只是通過我們腳本的描述來定義對象,這個時候,如何更準(zhǔn)確的描述對象,讓腳本運(yùn)行時更好的定位到,是該種方式的核心之處。
以點(diǎn)擊頁面的搜索按鈕為例,語句如下:
Browser(”title:=.*”).Page(”url:=.*”).WebButton(”html id:=DoSearch”).Click
由于當(dāng)前只打開一個ie,故可以使用“.*”通配符來定義頁面,若頁面多于一個時,需要同時指定 瀏覽器和頁面。需要注意的是,某一對象的屬性是多元的,當(dāng)使用一個屬性仍然無法唯一確定該對象時可以使用多個屬性來定義某一個對象,寫法如下:對象類型名(”屬性名1:=屬性值2″,”屬性名1屬性值2″),即多個屬性用“,”分割。
可能大家習(xí)慣使用QTP自帶的Object Spy來獲取對象的屬性,但在這里我想推薦大家結(jié)合ie developer toolbar中的find功能來更為準(zhǔn)確獲取元素的屬性(這里需要感謝一下士忠同學(xué)的友情提醒和幫助),因?yàn)镼TP識別對象時本身也會對對象進(jìn)行一次封 裝,有可能不夠準(zhǔn)確,我在定義某個頁面的WebRadioGroup時就遇到過qtp將兩個對象封裝為一個對象,當(dāng)使用qtp識別的結(jié)果來定義后,腳本運(yùn) 行時無法找到該對象,后來發(fā)現(xiàn)實(shí)為兩個對象,在對該對象添加了一個唯一的屬性定義后即可正確識別,此外,由于對象的屬性是多元的,所以更加需要我們選擇有 效唯一的屬性來識別,盡可能多用類似html id這樣唯一的屬性來定義(這個時候也可以借助ie developer toolbar的find功能來判定),還有一種特殊的情況需要注意的是,有時候我們發(fā)現(xiàn)對象像html id這樣的屬性值顯示為空,這個時候如果能判斷該對象的類型在這個頁面中是唯一的,同意可以用賦值為空來表示,如”html id:=”,當(dāng)然該種方式并不推薦使用。
第三篇:QTP 時間等待方法小結(jié)
QTP 時間等待方法小結(jié)
(2010-04-07 09:52:02)
轉(zhuǎn)載▼
標(biāo)簽: 分類:QTPstudy
qtp 時間等待 it
QTP 時間等待方法小結(jié) 1:死等法:
wait(10)。
wait方法可設(shè)定指定的等待時間,時間單位為秒,但這個時間只能是固定的,即必須等到這個時間才能繼續(xù)執(zhí)行。缺點(diǎn):有時候會浪費(fèi)時間,有時候因時間把握不準(zhǔn)確而少設(shè)定了時間。2:waitproperty windows(“XXX”).dialog(“XXXXXXXX”).waitProperty “visible”,true,50000 方法中的visible是屬性,true是屬性的值,50000為最長等待時間,單位為毫秒。即在最長等待時間內(nèi)任意時刻visible的值為true了,腳本繼續(xù)向下執(zhí)行,直到等到最大等待時間,然后給出waring。注意:如果超出最大等待時間,QTP報(bào)告中的結(jié)果是warning,而不是fail。3:Exist(10)windows(“XXX”).dialog(“XXXXXXXX”).Exist(10)方法中的10的時間單位為秒。
該方法與waitproperty方法類似,個人認(rèn)為比waitproperty方法好用一些。
三種方法各有特色,看個人喜好而用,不過個人認(rèn)為第三種方法好于前兩種。希望對大家學(xué)習(xí)有益。
第四篇:軟件測試 QTP教學(xué)演示文檔
risfeng.web-105.com 教學(xué)演示--注冊tester參數(shù)化測試
risfeng.web-105.com
risfeng.web-105.com
risfeng.web-105.com
教學(xué)演示--注冊tester參數(shù)化測試+文字驗(yàn)證:
risfeng.web-105.com
risfeng.web-105.com
輸出值功能例子:
risfeng.web-105.com
risfeng.web-105.com
第五篇:QTP學(xué)習(xí)與實(shí)踐經(jīng)驗(yàn)總結(jié)4 ..
關(guān)于regular expressions A問題描述:
在QTP中可以是使用regular expressions來完善你的參數(shù)化 B處理流程:
B1參數(shù)化你的系統(tǒng)
B2將參數(shù)化設(shè)定為regular expressions B3在表格中使用regular expressions C術(shù)語說明
C1 TD是MI公司的一款測試管理工具,他采用B/S模式,使得用戶可以在任何與Server相連的計(jì)算機(jī)上實(shí)現(xiàn)測試用例的管理
C2 QTP是MI公司推出的功能測試工具,主要用于B/S模式的系統(tǒng)測試 D實(shí)例: D1參數(shù)化你的系統(tǒng),以參數(shù)1980-2000年中間相隔20年為例,需要比較1980-1990以及1990-2000之間的值,如果使用一般的參數(shù)化,那么需要設(shè)定20個參數(shù)1980,1981,....2000,使用regular expressions則不需要這么麻煩
D2在參數(shù)化時選為regular expressions,選定你要參數(shù)化的步驟,參數(shù)化它在你參數(shù)化的過程中會遇到這如下對話框
圖6.D2.1 選定regular expression,點(diǎn)擊ok 在QTP的table中會出現(xiàn)你參數(shù)化的一列
圖6.D2.2 D3在表格中使用regular expressions以”[”,”]”為例,可以在table中輸入198[0-9],199[0-9],2000如下圖
圖6.D3.3 這樣只用三行參數(shù),就可以滿足20行參數(shù)達(dá)到的要求
以上只是regular expression的一個例子, regular expression還有類似”[”的方便符號,詳細(xì)可查閱QTP user help,通過如上方法就能將這些符號應(yīng)用到你的測試中 下面是對regular expression的一個簡單介紹
如果我們問那些UNIX系統(tǒng)的愛好者他們最喜歡什么,答案除了穩(wěn)定的系統(tǒng)和可以遠(yuǎn)程啟動之外,十有八九的人會提到正則表達(dá)式;如果我們再問他們最頭痛的是什么,可能除了復(fù)雜的進(jìn)程控制和安裝過程之外,還會是正則表達(dá)式。那么正則表達(dá)式到底是什么?如何才能真正的掌握正則表達(dá)式并正確的加以靈活運(yùn)用?本文將就此展開介紹,希望能夠?qū)δ切┛释私夂驼莆照齽t表達(dá)式的讀者有所助益。入門簡介
簡單的說,正則表達(dá)式是一種可以用于模式匹配和替換的強(qiáng)有力的工具。我們可以在幾乎所有的基于UNIX系統(tǒng)的工具中找到正則表達(dá)式的身影,例如,vi編輯器,Perl或PHP腳本語言,以及awk或sed shell程序等。此外,象JavaScript這種客戶端的腳本語言也提供了對正則表達(dá)式的支持。由此可見,正則表達(dá)式已經(jīng)超出了某種語言或某個系統(tǒng)的局限,成為人們廣為接受的概念和功能。
正則表達(dá)式可以讓用戶通過使用一系列的特殊字符構(gòu)建匹配模式,然后把匹配模式與數(shù)據(jù)文件、程序輸入以及WEB頁面的表單輸入等目標(biāo)對象進(jìn)行比較,根據(jù)比較對象中是否包含匹配模式,執(zhí)行相應(yīng)的程序
舉例來說,正則表達(dá)式的一個最為普遍的應(yīng)用就是用于驗(yàn)證用戶在線輸入的郵件地址的格式是否正確。如果通過正則表達(dá)式驗(yàn)證用戶郵件地址的格式正確,用戶所填寫的表單信息將會被正常處理;反之,如果用戶輸入的郵件地址與正則表達(dá)的模式不匹配,將會彈出提示信息,要求用戶重新輸入正確的郵件地址。由此可見正則表達(dá)式在WEB應(yīng)用的邏輯判斷中具有舉足輕重的作用?;菊Z法
在對正則表達(dá)式的功能和作用有了初步的了解之后,我們就來具體看一下正則表達(dá)式的語法格式。
正則表達(dá)式的形式一般如下: /love/ 其中位于“/”定界符之間的部分就是將要在目標(biāo)對象中進(jìn)行匹配的模式。用戶只要把希望查找匹配對象的模式內(nèi)容放入“/”定界符之間即可。為了能夠使用戶更加靈活的定制模式內(nèi)容,正則表達(dá)式提供了專門的“元字符”。所謂元字符就是指那些在正則表達(dá)式中具有特殊意義的專用字符,可以用來規(guī)定其前導(dǎo)字符(即位于元字符前面的字符)在目標(biāo)對象中的出現(xiàn)模式。
較為常用的元字符包括: “+”,“*”,以及 “?”。其中,“+”元字符規(guī)定其前導(dǎo)字符必須在目標(biāo)對象中連續(xù)出現(xiàn)一次或多次,“*”元字符規(guī)定其前導(dǎo)字符必須在目標(biāo)對象中出現(xiàn)零次或連續(xù)多次,而“?”元字符規(guī)定其前導(dǎo)對象必須在目標(biāo)對象中連續(xù)出現(xiàn)零次或一次.下面,就讓我們來看一下正則表達(dá)式元字符的具體應(yīng)用。/fo+/ 因?yàn)樯鲜稣齽t表達(dá)式中包含“+”元字符,表示可以與目標(biāo)對象中的 “fool”, “fo”, 或者 “football”等在字母f后面連續(xù)出現(xiàn)一個或多個字母o的字符串相匹配。/eg*/ 因?yàn)樯鲜稣齽t表達(dá)式中包含“*”元字符,表示可以與目標(biāo)對象中的 “easy”, “ego”, 或者 “egg”等在字母e后面連續(xù)出現(xiàn)零個或多個字母g的字符串相匹配。/Wil?/ 因?yàn)樯鲜稣齽t表達(dá)式中包含“?”元字符,表示可以與目標(biāo)對象中的 “Win”, 或者 “Wilson”,等在字母i后面連續(xù)出現(xiàn)零個或一個字母l的字符串相匹配。
除了元字符之外,用戶還可以精確指定模式在匹配對象中出現(xiàn)的頻率。例如,/jim{2,6}/ 上述正則表達(dá)式規(guī)定字符m可以在匹配對象中連續(xù)出現(xiàn)2-6次,因此,上述正則表達(dá)式可以同jimmy或jimmmmmy等字符串相匹配。
在對如何使用正則表達(dá)式有了初步了解之后,我們來看一下其它幾個重要的元字符的使用方式。
s:用于匹配單個空格符,包括tab鍵和換行符; S:用于匹配除單個空格符之外的所有字符; d:用于匹配從0到9的數(shù)字;
w:用于匹配字母,數(shù)字或下劃線字符; W:用于匹配所有與w不匹配的字符; :用于匹配除換行符之外的所有字符。
(說明:我們可以把s和S以及w和W看作互為逆運(yùn)算)
下面,我們就通過實(shí)例看一下如何在正則表達(dá)式中使用上述元字符。/s+/ 上述正則表達(dá)式可以用于匹配目標(biāo)對象中的一個或多個空格字符。/d000/ 如果我們手中有一份復(fù)雜的財(cái)務(wù)報(bào)表,那么我們可以通過上述正則表達(dá)式輕而易舉的查找到所有總額達(dá)千元的款項(xiàng)。
除了我們以上所介紹的元字符之外,正則表達(dá)式中還具有另外一種較為獨(dú)特的專用字符,即定位符。定位符用于規(guī)定匹配模式在目標(biāo)對象中的出現(xiàn)位置。
較為常用的定位符包括: “^”, “$”, “b” 以及 “B”。其中,“^”定位符規(guī)定匹配模式必須出現(xiàn)在目標(biāo)字符串的開頭,“$”定位符規(guī)定匹配模式必須出現(xiàn)在目標(biāo)對象的結(jié)尾,b定位符規(guī)定匹配模式必須出現(xiàn)在目標(biāo)字符串的開頭或結(jié)尾的兩個邊界之一,而“B”定位符則規(guī)定匹配對象必須位于目標(biāo)字符串的開頭和結(jié)尾兩個邊界之內(nèi),即匹配對象既不能作為目標(biāo)字符串的開頭,也不能作為目標(biāo)字符串的結(jié)尾。同樣,我們也可以把“^”和“$”以及“b”和“B”看作是互為逆運(yùn)算的兩組定位符。舉例來說: /^hell/ 因?yàn)樯鲜稣齽t表達(dá)式中包含“^”定位符,所以可以與目標(biāo)對象中以 “hell”, “hello”或 “hellhound”開頭的字符串相匹配。/ar$/ 因?yàn)樯鲜稣齽t表達(dá)式中包含“$”定位符,所以可以與目標(biāo)對象中以 “car”, “bar”或 “ar” 結(jié)尾的字符串相匹配。/bbom/ 因?yàn)樯鲜稣齽t表達(dá)式模式以“b”定位符開頭,所以可以與目標(biāo)對象中以 “bomb”, 或 “bom”開頭的字符串相匹配。/manb/ 因?yàn)樯鲜稣齽t表達(dá)式模式以“b”定位符結(jié)尾,所以可以與目標(biāo)對象中以 “human”, “woman”或 “man”結(jié)尾的字符串相匹配。
為了能夠方便用戶更加靈活的設(shè)定匹配模式,正則表達(dá)式允許使用者在匹配模式中指定某一個范圍而不局限于具體的字符。例如: /[A-Z]/ 上述正則表達(dá)式將會與從A到Z范圍內(nèi)任何一個大寫字母相匹配。/[a-z]/ 上述正則表達(dá)式將會與從a到z范圍內(nèi)任何一個小寫字母相匹配。/[0-9]/ 上述正則表達(dá)式將會與從0到9范圍內(nèi)任何一個數(shù)字相匹配。/([a-z][A-Z][0-9])+/ 上述正則表達(dá)式將會與任何由字母和數(shù)字組成的字符串,如 “aB0” 等相匹配。這里需要提醒用戶注意的一點(diǎn)就是可以在正則表達(dá)式中使用 “()” 把字符串組合在一起?!?)”符號包含的內(nèi)容必須同時出現(xiàn)在目標(biāo)對象中。因此,上述正則表達(dá)式將無法與諸如 “abc”等的字符串匹配,因?yàn)椤癮bc”中的最后一個字符為字母而非數(shù)字。如果我們希望在正則表達(dá)式中實(shí)現(xiàn)類似編程邏輯中的“或”運(yùn)算,在多個不同的模式中任選一個進(jìn)行匹配的話,可以使用管道符 “|”。例如: /to|too|2/ 上述正則表達(dá)式將會與目標(biāo)對象中的 “to”, “too”, 或 “2” 相匹配。
正則表達(dá)式中還有一個較為常用的運(yùn)算符,即否定符 “[^]”。與我們前文所介紹的定位符 “^” 不同,否定符 “[^]”規(guī)定目標(biāo)對象中不能存在模式中所規(guī)定的字符串。例如: /[^A-C]/ 上述字符串將會與目標(biāo)對象中除A,B,和C之外的任何字符相匹配。一般來說,當(dāng)“^”出現(xiàn)在 “[]”內(nèi)時就被視做否定運(yùn)算符;而當(dāng)“^”位于“[]”之外,或沒有“[]”時,則應(yīng)當(dāng)被視做定位符。
最后,當(dāng)用戶需要在正則表達(dá)式的模式中加入元字符,并查找其匹配對象時,可以使用轉(zhuǎn)義符“”。例如: /Th*/ 上述正則表達(dá)式將會與目標(biāo)對象中的“Th*”而非“The”等相匹配。E個人感受:無
關(guān)于datatable 7.1 global與current的區(qū)別
A問題描述:
在我們參數(shù)化的過程中總會遇到讓我們選擇global或者current Action的情況,下面對這兩種模式作相應(yīng)的介紹 B問題解答:
Global全局參數(shù): 他控制整個Action的運(yùn)行次數(shù),global里有幾行參數(shù),則運(yùn)行幾次腳本
Current Action: 對應(yīng)于單一的Action的參數(shù),對于一個Action沒有實(shí)際的意義,而幾個Action共同在一個腳本中使用時,就由他來控制單一Action的循環(huán)次數(shù)
在前面介紹的多個Action共同運(yùn)行時,實(shí)際我們已經(jīng)介紹了他們的使用方法
以登陸系統(tǒng),添加信息,再退出為例,登陸系統(tǒng)的用戶名,密碼是global參數(shù),他控制這個腳本的循環(huán)次數(shù),為了達(dá)到一次登陸多次添加的目的,將登陸名密碼設(shè)為一行,而在添加Action中將其中添加的那些信息參數(shù)化后,將這些參數(shù)設(shè)為current Action,這控制當(dāng)運(yùn)行到這個Action時,一共運(yùn)行幾次這個Action 當(dāng)設(shè)定好后,實(shí)際運(yùn)行一遍腳本,但是,多次運(yùn)行其中的添加Action C個人感受:無
7.2 import excel的問題
A問題描述:
在使用QTP參數(shù)化時,我們可以使用在以前項(xiàng)目中已經(jīng)設(shè)定好的參數(shù),將這些參數(shù)保存為excel格式,并在使用時將他們導(dǎo)入到QTP的table中 B處理流程: B1錄制腳本 B2設(shè)置參數(shù) B3導(dǎo)入?yún)?shù) C術(shù)語說明
C1 TD是MI公司的一款測試管理工具,他采用B/S模式,使得用戶可以在任何與Server相連的計(jì)算機(jī)上實(shí)現(xiàn)測試用例的管理
C2 QTP是MI公司推出的功能測試工具,主要用于B/S模式的系統(tǒng)測試 D實(shí)例:
D1錄制腳本,錄制你要的腳本 D2設(shè)置參數(shù),無需特殊設(shè)置
D3導(dǎo)入數(shù)據(jù),在table中點(diǎn)擊右鍵選擇flIE –import from file如下圖
圖7.2.D3.1
QTP會給你一個提示信息,表示你現(xiàn)在表格中的名稱B將被改成導(dǎo)入execl表中的名稱
圖7.2.D3.2 點(diǎn)擊確定,進(jìn)入如下對話框,選擇你的execl表格
圖7.2.D3.3 打開,QTP如下圖
圖7.2.D3.4 原先的a列被改為測試列
提示: 使用這個方法將使execl中的所有信息都導(dǎo)入到QTP中,如果a的位置已經(jīng)有數(shù)據(jù),數(shù)據(jù)將被execl中的數(shù)據(jù)覆蓋 E個人感受:無
7.3 關(guān)于editing the data table A問題描述:
當(dāng)參數(shù)化完成后,很多情況下需要對參數(shù)進(jìn)行修改 B處理流程: B1錄制腳本 B2參數(shù)化腳本
B3在table中修改參數(shù) C術(shù)語說明
C1 TD是MI公司的一款測試管理工具,他采用B/S模式,使得用戶可以在任何與Server相連的計(jì)算機(jī)上實(shí)現(xiàn)測試用例的管理
C2 QTP是MI公司推出的功能測試工具,主要用于B/S模式的系統(tǒng)測試 D實(shí)例: D1錄制腳本,查看QTP user help D2參數(shù)化腳本,查看QTP user help D3在table中修改參數(shù),在table中點(diǎn)擊右鍵,選擇edit,如下圖
圖7.3.D3.1 提示:在這里你可以對參數(shù)進(jìn)行刪除和修改,如果想把這個參數(shù)行徹底刪除,則選中該行,點(diǎn)擊右鍵,并且選擇delete E個人感受:無 8 關(guān)于檢查點(diǎn)
8.1 checkpoint的返回值
A問題描述:
在一些特定情況下,腳本需要知道檢查點(diǎn)是否通過,這時候就需要通過檢驗(yàn)檢查點(diǎn)的返回值來判斷檢查點(diǎn)是否通過 B處理流程:
B1錄制腳本,設(shè)定檢查點(diǎn)
B2在expert vIEw中設(shè)定檢查點(diǎn) C術(shù)語說明
C1 TD是MI公司的一款測試管理工具,他采用B/S模式,使得用戶可以在任何與Server相連的計(jì)算機(jī)上實(shí)現(xiàn)測試用例的管理
C2 QTP是MI公司推出的功能測試工具,主要用于B/S模式的系統(tǒng)測試 D實(shí)例: D1錄制腳本,設(shè)定檢查點(diǎn),如下圖
圖8.1.D1.1 D2在expert vIEw中設(shè)定檢查點(diǎn),點(diǎn)擊expert vIEw,進(jìn)入expert vIEw看到如下圖所示代碼
圖8.1.D2.2 代碼是check checkpoint(),你需要在check后面加一個(),使代碼變?yōu)閏heck.(checkpoint())并且在整行的前面加上一個變量(變量無需提前定義)如
a = Browser(“").Page(”“).Frame(”reportFrame“).Check(CheckPoint(”列表"))這樣檢查點(diǎn)的返回值就可以被a記錄下來,那么就可以通過判斷a的值來確定檢查點(diǎn)是否通過 E個人感受:無
8.2 QTP檢查點(diǎn)的設(shè)定
A問題與解答:
QTP通過檢查點(diǎn)可以檢查流程是否正確,但如果在一個腳本中同事檢查正確或者不正確,就會遇到問題,這是就需要分開錄制腳本 B實(shí)例: 以一個系統(tǒng)得登陸操作為例,就需要錄制兩個腳本,分別是登陸成功,登陸失敗,不同得檢查點(diǎn),不同的參數(shù)化
提示:在檢查登陸時,登陸成功,可以檢查登陸成功后得一些特殊得圖像,或者文字,登陸失敗則要檢查錯誤提示 C個人感受:無
8.3 關(guān)于文字檢查點(diǎn)得參數(shù)化
A問題描述:
在建立文字檢查點(diǎn)后,參數(shù)化檢查點(diǎn),但是隨著每次循環(huán)環(huán)境得不通,檢查點(diǎn)得可能無法正確檢查到文字,這種情況是因?yàn)闄z查點(diǎn)兩邊得限制條件發(fā)生變化的原因造成得解決這個問題,就需要對文字檢查點(diǎn)的限制條件也進(jìn)行參數(shù)化 B處理流程:
B1錄制腳本,設(shè)定文字檢查點(diǎn) B2參數(shù)化文字檢查點(diǎn)
B3參數(shù)化文字檢查點(diǎn)兩端的限定條件 test before和test after C術(shù)語說明
C1 TD是MI公司的一款測試管理工具,他采用B/S模式,使得用戶可以在任何與Server相連的計(jì)算機(jī)上實(shí)現(xiàn)測試用例的管理
C2 QTP是MI公司推出的功能測試工具,主要用于B/S模式的系統(tǒng)測試 D實(shí)例: D1錄制腳本,設(shè)定文字檢查點(diǎn)詳見QTP使用手冊
D2參數(shù)化文字檢查點(diǎn),對于文字檢查點(diǎn),可以通過參數(shù)化這個方法,通過一個檢查點(diǎn),檢查多個情況
當(dāng)添加文字檢查點(diǎn)后,點(diǎn)擊這個檢查點(diǎn)會彈出如下對話框
圖8.3.D2.1 在這里可以對文字檢查點(diǎn)作一些設(shè)定,點(diǎn)擊configure按鈕彈出如下對話框
圖8.3.D2.2 在這里你可以對檢查點(diǎn)作簡單得設(shè)定,選中字體,然后點(diǎn)擊checked text這些文字被設(shè)定為被檢查對象,點(diǎn)擊text before,這些文字被設(shè)定為限定條件text before ,text after同before一樣
提示: 當(dāng)選定中間的文字為text before或者text after時他們前面或者后面的文字就會消失,且不能重現(xiàn)
如我選定郵箱為text before
圖8.3.D2.3 進(jìn)入兩個字變?yōu)榛殷w,點(diǎn)擊ok
圖8.3.D2.4 再次點(diǎn)擊configure,如下圖
圖8.3.D2.5 進(jìn)入兩字不再出現(xiàn) 在對話框的下半部分中
圖8.3.D2.6 你可以對cheked text作詳細(xì)的設(shè)定以及參數(shù)化,詳見QTP user help D3參數(shù)化文字檢查點(diǎn)兩端的限定條件 test before和test after,當(dāng)你設(shè)定好checked text后,還需要對 text before和text after作一些設(shè)定,你可以通過選擇如下圖的下來菜單
圖8.3.D3.7 來進(jìn)入text before或者text after的對話框
圖8.3.D3.8
圖8.3.D3.9 當(dāng)你不想使用text before,text after時可以將Use the text after單選框,勾沒,這樣QTP就會在整個頁面中尋找你的check text Text to check is displayed before occurrence
of限定checked text出現(xiàn)的次數(shù) E個人感受:無
8.4 設(shè)立可重用檢查點(diǎn)
A問題描述:
每個腳本都需要設(shè)定檢查點(diǎn),但有些腳本的檢查點(diǎn)可能相同,這時重復(fù)設(shè)定檢查點(diǎn)就會使工作沒有實(shí)際意義,這時可以設(shè)立可重用檢查點(diǎn)來解決這個問題 B處理流程: B1錄制腳本,不設(shè)立檢查點(diǎn) B2錄制可重用檢查點(diǎn) B3調(diào)用可重用檢查點(diǎn) C術(shù)語說明
C1 TD是MI公司的一款測試管理工具,他采用B/S模式,使得用戶可以在任何與Server相連的計(jì)算機(jī)上實(shí)現(xiàn)測試用例的管理
C2 QTP是MI公司推出的功能測試工具,主要用于B/S模式的系統(tǒng)測試 D實(shí)例:
D1錄制腳本,不設(shè)立檢查點(diǎn)
D2錄制可重用檢查點(diǎn),將QTP record and run setting設(shè)為錄制當(dāng)前頁,開始錄制,不錄制步驟,直接在錄制過程中添加檢查點(diǎn),將這個只有檢查點(diǎn)的Action設(shè)為可重用Action如下圖
圖8.4.D2.1 D3調(diào)用可重用檢查點(diǎn),在第一步錄制好的腳本中調(diào)用這個可重用檢查點(diǎn),首先選中需要添加檢查點(diǎn)的步驟,然后選擇insert—call existing Action但是選擇after current step
圖8.4.D3.2 檢查點(diǎn)添加到步驟之后,通過這種發(fā)放這個檢查點(diǎn)可以被多次使用 E個人感受:無
8.5 QTP檢查點(diǎn)添加有問題,造成無法識別控件,導(dǎo)致腳本無法運(yùn)行的問題
A問題與解答:
可以在錄制時添加文字檢查點(diǎn),雖然這個檢查點(diǎn)在運(yùn)行時還是會出錯,但是我們可以通過找個檢查點(diǎn)對于控件作不做任何操作的記錄,添加檢查點(diǎn)之后,這個控件上的信息將被記錄下來,可以按照常規(guī)方法添加文字檢查點(diǎn),再將錄制時添加的檢查點(diǎn)刪除即可 B個人感受: 無
8.6 標(biāo)準(zhǔn)檢查點(diǎn)
A問題與解答: 個人認(rèn)為標(biāo)準(zhǔn)檢查點(diǎn)是QTP最方便實(shí)用的檢查點(diǎn),檢查點(diǎn)捕捉控件的所有可檢查的屬性,并且選擇其中認(rèn)為應(yīng)該檢查的加以檢查,你可以通過手工設(shè)定,增加或者減少檢查的屬性如下圖
圖8.6.A.1 可以通過點(diǎn)擊點(diǎn)擊
和,彈出如下對話框
按鈕設(shè)定檢查的具體內(nèi)容
圖8.6.A.2 可以對link的具體屬性作修改 點(diǎn)擊
彈出如下對話框
圖8.6.A.3 也可以對imag作修改 可以通過
圖8.6.A.4 來選擇其中要檢查的控件屬性
B個人感受:標(biāo)準(zhǔn)檢查點(diǎn)是非常常用的檢查點(diǎn),一般的問題,標(biāo)準(zhǔn)檢查點(diǎn)都能解決,建議多使用標(biāo)準(zhǔn)檢查點(diǎn)