項目的結(jié)構(gòu)如下:
POM是什么柏蘑?
Page Object Model (POM) 直譯為“頁面對象模型”,這種設(shè)計模式旨在為每個待測試的頁面創(chuàng)建一個頁面對象(class)茵宪,將那些繁瑣的定位操作封裝到這個頁面對象中轿偎,只對外提供必要的操作接口狭魂。
POM模型的優(yōu)點
a. 把web ui對象從測試腳本分離,業(yè)務(wù)代碼和測試腳本分離潮针。
b. 每一個頁面對應(yīng)一個頁面類术荤,頁面的元素寫到這個頁面類中。
c. 頁面類主要包括該頁面的元素定位每篷,和這些元素相關(guān)的業(yè)務(wù)操作代碼封裝的方法瓣戚。
d. 代碼復(fù)用,從而減少測試腳本代碼量焦读。
e. 層次清晰子库,同時支持多個編寫自動化腳本開發(fā),例如每個人寫哪幾個頁面矗晃,不影響他人仑嗅。
POM模型的核心要素:
a.抽象封裝一個BasePage基類,基類應(yīng)該擁有一個指向webdriver實例的屬性
b.每一個Page都應(yīng)該繼承BasePage,并通過driver來管理本Page的元素喧兄,且將Page才操作都封裝成一個個的方法
c. TestCase應(yīng)該繼成unittest.Testcase類无畔,并依賴相應(yīng)的Page類來實現(xiàn)相應(yīng)的test step(即測試步驟)