po的主要價值體現在對介面互動細節的封裝,這樣可以使測試案例可以更關注與業務而非介面細節,提高測試案例的可讀性。
以傳統的登陸頁面為例實現po模式,因為每個用例中都需要登陸。
其中需要使用pagefactory.initelements()工廠方法,此方法也可以解決頁面元素過期的問題。
。。頁面層,對用例中需要用到的元素定義的page檔案中。
/*** 登陸頁頁面元素
* @author herry**/
public class loginpage
//封裝主要的業務功能操作,例如這裡的登陸功能,
public class loginuk_control extends loginpage
//在用例層面,每次呼叫登陸業務時,只需要呼叫control方法,無需關注頁面層面,這樣如果頁面層面有改動,也只需修改page方法即可。
頁面物件(page object)模式
使用頁面物件的設計模式。頁面物件模型將測試 和被測試的頁面的頁面元素及其操作方法進行分離,以降低頁面元素的變化對測試 的影響。每乙個被測試的頁面都會被定義為乙個類,類中會定位所有需進行測試操作的頁面元素物件,並且定義操作每乙個頁面元素物件的方法。如果使用者沒有使用此模式,那麼獎登入過程都用相同的 段...
PO Page object 頁面物件
在ui自動化時,越做到後面越難處理,主要會出現以下問題 1 越多,看的越擁擠,不好閱讀 2 維護成本越來越高,ui稍微改了一些變動,就要改大量 比如替換定位元素 3 函式方法多用,沒有可復用方法 在以上問題出現後,有人就總結出乙個po模式,主要原理就是將各種定位 方法 操作分開使用,使指令碼可讀可寫...
面對物件和封裝
1.成員變數 屬性 在成員方法之外 成員方法 行為 不用static 修飾 使用成員變數 物件名.成員變數名 使用成員方法 物件名.成員方法名 引數 this 當方法的區域性變數和類的成員變數重名,根據 就近原則 優先使用區域性 若需要訪問本類當中的成員變數,格式 this.成員變數變數名 通過誰呼...