第6章 PO模式電子課件_第1頁
第6章 PO模式電子課件_第2頁
第6章 PO模式電子課件_第3頁
第6章 PO模式電子課件_第4頁
第6章 PO模式電子課件_第5頁
已閱讀5頁,還剩28頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第6章PO模式《自動化測試應(yīng)用教程(Web+App)》學(xué)習(xí)目標(biāo)/Target了解PO模式的簡介,能夠簡述PO模式的概念掌握PO模式的案例實(shí)戰(zhàn),能夠測試TPshop開源商城網(wǎng)站的登錄功能章節(jié)概述/Summary在測試Web項(xiàng)目的過程中,由于在Web項(xiàng)目中需要測試的頁面比較多,有時會出現(xiàn)多個頁面中代碼冗余的情況,例如多個頁面的測試代碼中都有定位同一個元素的代碼,如果定位的元素發(fā)生了變化,則需要修改多個頁面中定位該元素的代碼,這樣不僅增加了測試人員的工作量,而且不便于代碼的維護(hù)。為了提高測試代碼的可維護(hù)性和可讀性,可以使用PO模式將測試代碼中的冗余代碼進(jìn)行封裝并分層。本章將對PO模式的內(nèi)容進(jìn)行詳細(xì)講解。目錄/Contents01PO模式簡介02PO模式的案例實(shí)戰(zhàn)PO模式簡介6.16.1.1PO模式的概念

先定一個小目標(biāo)!了解PO模式的簡介,能夠簡述PO模式的概念6.1.1PO模式的概念PO(PageObject,頁面對象)模式主要是將程序中的頁面元素定位和元素操作封裝成一個頁面類,在該類中實(shí)現(xiàn)頁面對象和測試用例的分離,該模式的核心是對頁面元素的封裝,從而減少程序中的冗余代碼,提高測試代碼的可維護(hù)性和可讀性。6.1.1PO模式的概念對象庫層用于封裝定位頁面元素的方法操作層用于封裝對元素進(jìn)行操作的方法業(yè)務(wù)層用于封裝將一個或多個元素操作組合起來完成一個業(yè)務(wù)功能的方法PO模式6.1.2PO模式的優(yōu)缺點(diǎn)

先定一個小目標(biāo)!了解PO模式的優(yōu)缺點(diǎn),能夠簡述PO模式的優(yōu)點(diǎn)和缺點(diǎn)6.1.2PO模式的優(yōu)缺點(diǎn)當(dāng)測試代碼使用PO模式后,會對測試程序中的重復(fù)代碼抽取出來,放在一個工具類中,便于后續(xù)對這些代碼進(jìn)行復(fù)用,從而提高測試代碼的復(fù)用性,減少程序中的冗余代碼。(1)提高代碼的復(fù)用性PO模式與傳統(tǒng)模式相比有以下3個優(yōu)點(diǎn),具體介紹如下。PO模式可以將定位頁面元素與頁面操作的代碼封裝在指定的頁面對象中,并且測試用例與頁面對象也是分離的狀態(tài),這樣更容易讓測試人員快速找到指定頁面的代碼和測試用例,從而提高了代碼的可讀性和可維護(hù)性。(2)提高代碼的可讀性和可維護(hù)性6.1.2PO模式的優(yōu)缺點(diǎn)PO模式減少了測試程序中的代碼冗余,從而減少了測試人員的工作量,同時PO模式還采用了業(yè)務(wù)流程與頁面元素操作分離的模式,使測試代碼便于維護(hù)和擴(kuò)展。如果后續(xù)想要修改或增加測試用例,則不需要耗費(fèi)很多時間和人員去修改或擴(kuò)展測試代碼,從而降低測試程序的維護(hù)成本。(3)降低程序的維護(hù)成本6.1.2PO模式的優(yōu)缺點(diǎn)任何事物都有兩面性,PO模式也不例外,它除了有3個優(yōu)點(diǎn)之外,還有一個缺點(diǎn),即PO模式會造成測試代碼結(jié)構(gòu)比較復(fù)雜,從而導(dǎo)致一次性的腳本代碼效率不高,這是由于測試代碼根據(jù)PO模式的流程進(jìn)行了模塊化處理。PO模式的案例實(shí)戰(zhàn)6.26.2.1商城登錄功能簡介

先定一個小目標(biāo)!了解商城登錄功能簡介,能夠編寫3條功能的測試用例6.2.1商城登錄功能簡介當(dāng)對TPshop開源商城網(wǎng)站的登錄功能進(jìn)行自動化測試時,首先需要進(jìn)入商城首頁,單擊商城首頁左上角的“登錄”鏈接,即可進(jìn)入到登錄頁面,如下圖所示。6.2.1商城登錄功能簡介測試人員在測試登錄頁面中的登錄功能時,首先需要設(shè)計(jì)該功能的測試用例,例如,登錄成功、密碼錯誤、驗(yàn)證碼錯誤、賬號不存在等。6.2.1商城登錄功能簡介ID優(yōu)先級測試功能測試標(biāo)題預(yù)置條件步驟描述測試數(shù)據(jù)預(yù)期結(jié)果實(shí)際結(jié)果01L0登錄賬號不存在打開商城首頁,進(jìn)入登錄頁面1.輸入賬號;2.輸入密碼;3.輸入驗(yàn)證碼;4.單擊“登錄”按鈕賬號碼:123456驗(yàn)證碼:8888登錄失敗,頁面提示:賬號不存在02L0登錄密碼錯誤打開商城首頁,進(jìn)入登錄頁面1.輸入賬號;2.輸入密碼;3.輸入驗(yàn)證碼;4.單擊“登錄”按鈕賬號碼:1234567驗(yàn)證碼:8888登錄失敗,頁面提示:密碼錯誤03L0登錄用戶名不能為空打開商城首頁,進(jìn)入登錄頁面1.輸入密碼;2.輸入驗(yàn)證碼;3.單擊“登錄”按鈕賬號:密碼:123456驗(yàn)證碼:8888登錄失敗,頁面提示:用戶名不能為空登錄功能的3條測試用例的相關(guān)信息如下表所示。6.2.2創(chuàng)建工具類UtilsDriver

先定一個小目標(biāo)!掌握工具類的創(chuàng)建,能夠創(chuàng)建UtilsDriver工具類6.2.2創(chuàng)建工具類UtilsDriver當(dāng)在程序中測試商城登錄功能時,需要多次獲取瀏覽器驅(qū)動對象、彈出框消息和退出瀏覽器驅(qū)動對象,為了減少程序中的冗余代碼,需要將獲取瀏覽器驅(qū)動對象的方法、獲取彈出框消息的方法和退出瀏覽器驅(qū)動對象的方法抽取出來存放在創(chuàng)建好的UtilsDriver類中,該類被稱為工具類,它可以存放后續(xù)程序中需要多次使用的與瀏覽器驅(qū)動有關(guān)的其他方法。6.2.2創(chuàng)建工具類UtilsDriver首先在程序中創(chuàng)建utils.py文件,然后在該文件中創(chuàng)建工具類UtilsDriver,具體代碼如下。[單擊查看源碼]6.2.3創(chuàng)建基類BasePage與BaseHandle

先定一個小目標(biāo)!掌握基類的創(chuàng)建,能夠創(chuàng)建BasePage與BaseHandle基類當(dāng)測試TPshop開源商城網(wǎng)站的登錄功能時,會用到商城的首頁和登錄頁面。在測試程序中,PO模式會將商城首頁和登錄頁面中的邏輯代碼分為對象庫層、操作層和業(yè)務(wù)層,由于商城首頁和登錄頁面的對象庫層和操作層有相同的代碼,例如,定位元素的代碼、元素輸入的操作代碼等。為了減少程序中的冗余代碼,需要將商城首頁和登錄頁面中相同的代碼抽取出來存放在創(chuàng)建好的BasePage類和BaseHandle類中,這2個類被稱為基類。6.2.3創(chuàng)建基類BasePage與BaseHandle6.2.3創(chuàng)建基類BasePage與BaseHandle首先在程序中創(chuàng)建base文件夾,然后在該文件夾中創(chuàng)建base_page.py文件,最后在base_page.py文件中分別創(chuàng)建對象庫層的基類BasePage和操作層的基類BaseHandle。

base_page.py文件的具體代碼如下。[單擊查看源碼]6.2.4商城首頁的PO模式

先定一個小目標(biāo)!掌握商城首頁的PO模式,能夠使用PO模式編寫商城首頁的邏輯代碼6.2.4商城首頁的PO模式由于測試商城登錄功能時,會涉及商城首頁頁面,所以需要在商城首頁的邏輯代碼中使用PO模式,按照PO模式的3層架構(gòu),將商城首頁中的代碼分別封裝為對象庫層、操作層和業(yè)務(wù)層,每個層都是一個類。6.2.4商城首頁的PO模式首先在程序中創(chuàng)建page文件夾,然后在該文件夾中創(chuàng)建page_home.py文件,最后在page_home.py文件中分別創(chuàng)建PageHome類、HandleHome類和HomeProxy類,

page_home.py文件的具體代碼如下。[單擊查看源碼]6.2.5登錄頁面的PO模式

先定一個小目標(biāo)!掌握登錄頁面的PO模式,能夠使用PO模式編寫登錄頁面的邏輯代碼6.2.5登錄頁面的PO模式登錄頁面的PO模式與商城首頁的PO模式類似,都是按照PO模式的3層架構(gòu),將頁面中的代碼分別封裝為對象庫層、操作層和業(yè)務(wù)層,每個層都是1個類。6.2.5登錄頁面的PO模式首先在程序的page文件夾中創(chuàng)建操作登錄頁面的文件page_login.py,然后在該文件中分別創(chuàng)建LoginPage類、LoginHandle類和LoginProxy類,

page_login.py文件的具體代碼如下。[單擊查看源碼]6.2.6創(chuàng)建登錄功能的測試用例

先定一個小目標(biāo)!掌握登錄功能測試用例的創(chuàng)建,能夠編寫登錄功能的測試用例代碼6.2.6創(chuàng)建登錄功能的測試用例首先在程序中創(chuàng)建一個scripts文件夾,然后在該文件夾中創(chuàng)建test_login.py文件,最后在test_login.py文件中創(chuàng)建測試類TestLogin,在該類中根據(jù)登錄功能的3個測試用例,定義了3個測試方法,分別是test_login_01()、test_lo

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論