【正文】
本后,插入動(dòng)作:u 點(diǎn)擊【insert】【New Action】或者是工具列上的【insert new action】按鈕u 點(diǎn)擊【step】【split action】或是工具列上的【split action 】按鈕。u 點(diǎn)擊【insert】【copy of action】或是在Action上點(diǎn)擊鼠標(biāo)右鍵,選取 【inert copy of action】u 點(diǎn)擊【insert】【call to action】或是在Action上點(diǎn)擊鼠標(biāo)右鍵,選取【insert call to action】 接下來,你將會(huì)建立一個(gè)分割成三個(gè)動(dòng)作的測(cè)試腳本。1. 執(zhí)行QTP并開啟一個(gè)全新的測(cè)試腳本2. 開始錄制Mercury Tours 范例網(wǎng)站你將錄制一個(gè)與【錄制測(cè)試腳本】課程類似的測(cè)試腳本,不過為了練習(xí)如何使用多個(gè)actions,這個(gè)測(cè)試腳本的執(zhí)行步驟有稍微的經(jīng)過安排的。 首先,先關(guān)閉所有的瀏覽器。 點(diǎn)擊【Test】【Record】或者是點(diǎn)擊工具列上的【Record】按鈕,將開啟【Record and Run Setting】對(duì)話窗口。u 在【web】標(biāo)簽頁(yè)上,點(diǎn)擊【open the following browser when a record or run session begins】u 在【windows application】頁(yè)簽上,勾選【Record and run on this applications (open on session start)】選項(xiàng)。點(diǎn)擊【ok】按鈕。QTP會(huì)開啟瀏覽器,顯示mercury?。簦铮酰颍蟆∈醉?yè),并開始錄制測(cè)試腳本。3. 登入mercury?。簦铮酰颍笤凇荆酰澹螅颍睿幔恚濉亢汀荆穑幔螅螅鳎铮颍洹枯斎肽阒白?cè)的賬號(hào)和密碼。點(diǎn)擊【sign in】,開啟【flight finder】網(wǎng)頁(yè)。4. 輸入航班信息輸入下列數(shù)據(jù):Derport?。妫颍铮恚海危澹鳌。伲铮颍耄铮睿海模澹悖澹恚猓澹颉。玻梗幔颍颍椋觯椋睿纭。椋睿海螅幔睢。疲颍幔睿悖椋螅悖铮颍澹簦酰颍睿椋睿纾海模澹悖澹恚猓澹颉。常逼溆酁槟J(rèn)值,點(diǎn)選【continue】,開啟【select?。妫欤椋纾瑁簟烤W(wǎng)頁(yè)。5. 選擇航班接受默認(rèn)值,點(diǎn)擊【continue】,開啟【book?。帷。妫欤椋纾瑁簟烤W(wǎng)頁(yè)。6. 輸入必要的旅客信息輸入旅客姓名和信用卡卡號(hào)。點(diǎn)擊網(wǎng)頁(yè)下方的【secure purchase】,開啟【flight?。悖铮睿妫椋颍恚幔簦椋铮睢烤W(wǎng)頁(yè).7. 回到flight finder網(wǎng)頁(yè)在【flight confirmation】網(wǎng)頁(yè)下方,點(diǎn)擊【back to flight】,停止錄制,讓下面的第二個(gè)動(dòng)作的開始與結(jié)束都是同一頁(yè)面,這樣才可以讓測(cè)試腳本重復(fù)執(zhí)行。8. 停止錄制點(diǎn)擊工具欄上的【stop】按鈕,停止錄制。9. 將測(cè)試腳本存儲(chǔ)成Action A點(diǎn)擊【File】【save as】,將測(cè)試腳本存儲(chǔ)成Action A。 因?yàn)槟愕臏y(cè)試腳本包含二個(gè)主要的業(yè)務(wù)流程:登入與訂票,所以將整個(gè)測(cè)試流程分成二個(gè)動(dòng)作,變相當(dāng)?shù)暮侠怼?. 選擇第二個(gè)動(dòng)作要開始的網(wǎng)頁(yè)在關(guān)鍵視圖,展開(+)【Action1】【wele mercury tours】2. 將測(cè)試腳本分成二個(gè)動(dòng)作選擇【find a flight:mercury】網(wǎng)頁(yè),并點(diǎn)擊【Edit】【Action】【split action】或者是點(diǎn)擊工具列上的【split action】按鈕,開啟【split action】對(duì)話窗口。3. 輸入動(dòng)作的名稱與說明在【1st action】中的【Name】字段中輸入:Sign_in在【1st action】中的【description】字段中輸入:Enters username and password to sign in。在【2st action】中的【Name】字段中輸入:FlightOrder在【2st action】中的【description】字段中輸入:chooses and purchase a flight。其余字段保留默認(rèn)值,點(diǎn)擊【ok】關(guān)閉【split action】窗口,在關(guān)鍵字視圖中會(huì)出現(xiàn)二個(gè)動(dòng)作。點(diǎn)擊【view】【expand all】檢查每個(gè)動(dòng)作的內(nèi)容,注意:【FlightOrder】動(dòng)作的開始與結(jié)束都是【Find a flight:mercury】網(wǎng)頁(yè)。 接下來,你將會(huì)插入一個(gè)新的動(dòng)作,并且錄制回到mercury tours 首頁(yè)的步驟,讓整個(gè)測(cè)試腳本的開始和結(jié)束都是在同一個(gè)頁(yè)面上。1. 插入新動(dòng)作點(diǎn)擊【insert】【Call to New Action】或者是點(diǎn)擊工具列上的【insert new action】按鈕,開啟【insert new action】對(duì)話窗口。在【Name】字段中輸入動(dòng)作名稱ReturnHome,并選擇【At the end of the test】然后點(diǎn)擊【ok】按鈕,關(guān)閉對(duì)話窗口,在測(cè)試腳本最后面會(huì)顯示剛剛新增的ReturnHome動(dòng)作。2. 準(zhǔn)備錄制測(cè)試腳本啟動(dòng)瀏覽器并開啟【Finder flight】網(wǎng)頁(yè)輸入Mercury Tours 的網(wǎng)址:,則會(huì)開啟【Flight Finder】網(wǎng)頁(yè)。調(diào)整一下瀏覽器和QTP的位置,以便可以同時(shí)看到二個(gè)窗口。3. 變更【Record and Run setting】目前你的【Record and Run setting】是設(shè)定在【open the following browser when a record orrun session begins 】,所以QTP會(huì)自動(dòng)開啟瀏覽器到你指定的位置。不過你現(xiàn)在是要在已開啟的瀏覽器上,錄制新的動(dòng)作,所以你必須變更設(shè)定。點(diǎn)擊【Automation】【Record and run setting】,開啟【Record and run setting】對(duì)話窗口:在【web】標(biāo)簽頁(yè)上,選擇【Record and run test on any open web browser】,然后點(diǎn)擊【ok】。4. 錄制returnhome的動(dòng)作在關(guān)鍵字視圖中,選取新的returnhome動(dòng)作,點(diǎn)擊【Automation】【Record】或者點(diǎn)擊工具欄上的【Record】按鈕。此時(shí),不會(huì)自動(dòng)連接到瀏覽器,而是自己去做操作,一樣可以錄制腳本。在【Flight Finder】頁(yè)面上,點(diǎn)擊左邊目錄區(qū)的【Home】,回到Mercury Tours首頁(yè)。然后點(diǎn)擊工具列上的【stop】按鈕,停止錄制。5. 恢復(fù)【Record and Run setting】的設(shè)定6. 存儲(chǔ)測(cè)試腳本點(diǎn)擊【File】【Save】或者是點(diǎn)擊工具列上的【Save】按鈕。 所謂的可再使用的動(dòng)作相當(dāng)于程序設(shè)計(jì)中函數(shù),當(dāng)你有個(gè)業(yè)務(wù)流程,在很多腳本中都會(huì)用到時(shí),你可以講這個(gè)業(yè)務(wù)流程錄制成一個(gè)可在使用的動(dòng)作,然后,就可以再需要用到此業(yè)務(wù)流程的測(cè)試腳本中,呼叫使用它。 要讓一個(gè)動(dòng)作可以被其它的測(cè)試腳本呼叫使用,這個(gè)動(dòng)作必須是一個(gè)可再使用的動(dòng)作。例如:您在這個(gè)課程中所建立的sign_in以及returnhome動(dòng)作,在其它的測(cè)試腳本中,通常也會(huì)有相同的動(dòng)作,所以就可以將其設(shè)定為可再使用的動(dòng)作。1. 將sighin動(dòng)作設(shè)定成可在使用的動(dòng)作在關(guān)鍵字視圖以鼠標(biāo)右鍵點(diǎn)擊【Action Properties操作屬性】,會(huì)開啟【Action Properties】對(duì)話窗口,點(diǎn)擊【Reusable action】然后點(diǎn)擊【ok】,假如出現(xiàn)訊息窗口,注意一下顯示的訊息,然后點(diǎn)擊【do not show this dialog box again】,然后點(diǎn)擊【ok】,則此動(dòng)作的圖示會(huì)變成,而且動(dòng)作的名稱會(huì)變成藍(lán)色的文字。2. 檢視sighin動(dòng)作注意,你現(xiàn)在已經(jīng)無(wú)法在關(guān)鍵字視圖上展開signin動(dòng)作了。當(dāng)你將某個(gè)動(dòng)作轉(zhuǎn)換成可再使用的動(dòng)作后,你會(huì)發(fā)現(xiàn)在關(guān)鍵字視圖上方出現(xiàn)了一個(gè)動(dòng)作清單,清單中顯示在這個(gè)測(cè)試腳本中的所有可再使用的動(dòng)作,以及所呼叫的外部動(dòng)作。要檢視signin動(dòng)作的內(nèi)容,只要在下拉列表中選取signin動(dòng)作就可以了。在【Action】下拉列表中,選擇【Test Flow】就可以回到原本的關(guān)鍵字視圖了。3. 將returnhome也設(shè)定成可再使用的動(dòng)作對(duì)returnhome動(dòng)作,重復(fù)步驟1和2.4. 存儲(chǔ)測(cè)試腳本點(diǎn)擊【File】【Save】或者是點(diǎn)擊工具列上的【Save】按鈕。 當(dāng)你在規(guī)劃一系列的測(cè)試個(gè)案時(shí),可能會(huì)發(fā)現(xiàn)有些動(dòng)作,如登入,可能在很多的測(cè)試個(gè)案中都會(huì)用到,則當(dāng)你在一個(gè)測(cè)試腳本中,已經(jīng)建立好登入的動(dòng)作后,你可以通過復(fù)制或者是呼叫方式,在其它的測(cè)試腳本中使用登入的動(dòng)作。 當(dāng)你以復(fù)制的方式插入動(dòng)作,則你可以修改這個(gè)動(dòng)作的復(fù)本,而且你的修改不會(huì)影響到原來的動(dòng)作,原來動(dòng)作的改變也不會(huì)影響到這個(gè)復(fù)本。當(dāng)你以呼叫的方式插入動(dòng)作,這個(gè)動(dòng)作會(huì)變成只讀的動(dòng)作,你只能在原來的測(cè)試腳本中才能修改被呼叫的動(dòng)作。使用呼叫的方式,測(cè)試腳本可以有比較好的可維護(hù)性,因?yàn)楫?dāng)被測(cè)系統(tǒng)改變時(shí),你只要修改原始的測(cè)試腳本就可以了。 在接下來的課程中,你會(huì)建立一個(gè)類似ActionA的測(cè)試腳本,其中signin以及returnhome動(dòng)作將來自外部的測(cè)試腳本(以呼叫的方式使用其它的測(cè)試腳本中的動(dòng)作)而且FlightOrder動(dòng)作會(huì)做稍微的修改。 首先,你將以呼叫的方式把ActionA中的signin和returnhome動(dòng)作,插入ActionB中,1. 開啟ActionB測(cè)試腳本點(diǎn)擊【File】【Open】,選擇ActionB后按下【open】按鈕。2. 插入呼叫的signin動(dòng)作點(diǎn)擊【insert】【call to existing action】,開啟【select action】對(duì)話窗口。在【From Test】右邊的【瀏覽】按鈕,選取【ActionA】測(cè)試腳本后點(diǎn)擊【Open】,只有可在使用的動(dòng)作會(huì)顯示在【select action】對(duì)話窗口中。選擇signin動(dòng)作后,按下【ok】,signin【ActionA】動(dòng)作會(huì)出現(xiàn)在測(cè)試腳本的最下方,而且圖示變成注意:你無(wú)法在關(guān)鍵字視圖中展開signin動(dòng)作,要檢視signin動(dòng)作,你可以再【Action】清單中選擇signin動(dòng)作。由于此動(dòng)作目前是只讀的,假如你要修改的話,只有開啟原來的測(cè)試腳本才能夠修改它。選擇【Action】清單中的Test Flow回到原來的關(guān)鍵字視圖。3. 插入呼叫的returnhome動(dòng)作依照步驟2將ActionA測(cè)試腳本中的returnhome動(dòng)作,插入測(cè)試腳本的最下方。4. 存儲(chǔ)測(cè)試腳本點(diǎn)擊【File】【Save】或者是點(diǎn)擊工具列上的【Save】按鈕。5. 修改原始的returnhome動(dòng)作點(diǎn)擊【File】【Open】,選擇【ActionA】測(cè)試腳本,然后按下【Open】。對(duì)returnhome動(dòng)作點(diǎn)擊二下以便檢視其內(nèi)容。在關(guān)鍵字視圖中,選擇returnhome動(dòng)作的圖標(biāo),然后點(diǎn)擊【insert】【step】【ment】,開啟【insert ment】對(duì)話窗口,并加入批注。輸入:return to page used in first step of the test ,然后按下【ok】。加入批注如下:6. 存儲(chǔ)測(cè)試腳本點(diǎn)擊【File】【Save】或者是點(diǎn)擊工具列上的【Save】按鈕。7. 檢查原始returnhome動(dòng)作的修改也影響到呼叫它的測(cè)試腳本中點(diǎn)擊【File】【open】,選擇ActionB測(cè)試腳本,按下【open】。對(duì)returnhome[actiona]動(dòng)作的圖示點(diǎn)擊二下以便檢視其內(nèi)容,可以看到你在原始測(cè)試腳本(ActionA)中加入的批注也可以出現(xiàn)在呼叫它的測(cè)試腳本(ActionB)中。在【Action】工具列上,點(diǎn)擊【Action】清單并選取Test Flow回到原本的關(guān)鍵字視圖。 接下來,你會(huì)插入Flight Order的復(fù)本。1. 開啟一個(gè)新的測(cè)試腳本2. 插入Flight Order動(dòng)作的復(fù)本點(diǎn)擊【insert】【call to copy of action】,開啟【select action】對(duì)話框窗口。3. 修改Copy of Flight Order動(dòng)作在關(guān)鍵字視圖中展開(+)【Copy of Flight Order】【wele mercury tours】【Find a flight:mercury】,點(diǎn)擊from port的【value】字段,將字段中的值由New York修改成London后,再點(diǎn)擊關(guān)鍵字視圖中的其它列,以保存from port的value值。4. 將Copy of Flight Order動(dòng)作放到Signin動(dòng)作之后你希望測(cè)試腳本執(zhí)行的順序是做完signin動(dòng)作之后再執(zhí)行copy of flight order動(dòng)作,但是你不能將一個(gè)動(dòng)作拖放到一個(gè)可再使用的動(dòng)作(Reusable action)之后,因?yàn)榭稍偈褂玫膭?dòng)作在被呼叫的腳本中是只讀的,所以你必須執(zhí)行下列步驟,才能變動(dòng)這些動(dòng)作的順序。在關(guān)鍵字視圖中選擇Copy of Flight Order動(dòng)作,將它拖到Action1動(dòng)作之后,然后再把signin動(dòng)作也拖到Action1之后,這樣一來,你已經(jīng)將Copy of Flight Order動(dòng)作放到signin動(dòng)作之后了。5. 刪除測(cè)試腳本中的Action1每當(dāng)開啟新的測(cè)試腳本都會(huì)有預(yù)設(shè)的Action1動(dòng)作,由于測(cè)試腳本中一定要有至少一個(gè)的動(dòng)作,所以你必須選插入copy of flight order動(dòng)作,然后才能刪除action1動(dòng)作,現(xiàn)在你可以將action1刪除了。 在關(guān)鍵字視圖中,點(diǎn)擊Action1然后選取【Edit】【Delete】或是按下鍵盤上的【Delete】按鍵,出現(xiàn)確認(rèn)信息,按下【Yes】。