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