軟件測試 | PageObject模式
簡介
在 Selenium 章節(jié),已經(jīng)對 PageObject 設(shè)計模式進(jìn)行過講解, PageObject 設(shè)計模式的原理就是將頁面 具體的實(shí)現(xiàn)和用例的業(yè)務(wù)邏輯解耦,而這個思想同樣適用于接口自動化測試:將接口具體的參數(shù)的實(shí)現(xiàn) 與用例業(yè)務(wù)解耦??偨Y(jié)一下,不論是對于接口自動化測試還是 ui 自動化測試,PageObject 設(shè)計模式帶 來的優(yōu)點(diǎn)如下:
減少代碼重復(fù)
提高測試用例可讀性
提高測試用例可維護(hù)性
實(shí)現(xiàn)思路
下面通過目錄結(jié)構(gòu)了解 PageObject 的分層機(jī)制
改造后的文件結(jié)構(gòu)(以接口為例)
api或page:
base_api.py/base_page:用來發(fā)封所有通用方法,比如打印log、對斷言工具做二次封裝等,不牽涉和業(yè)務(wù)相關(guān)的操作
department:集成base_api/base_page,用來實(shí)現(xiàn)對應(yīng)模塊具體的業(yè)務(wù)邏輯,比如發(fā)送請求,請求內(nèi)有什么參數(shù)等等。
testcases:統(tǒng)一存放所有的測試用例,調(diào)用Api對象或Page對象實(shí)現(xiàn)業(yè)務(wù)并斷言
utils:存放對其他功能的封裝,改進(jìn)原生框架不足
data:數(shù)據(jù)構(gòu)造與測試用例的數(shù)據(jù)封裝