頁面物件(page object)模式

2021-08-14 13:39:46 字數 1084 閱讀 2143

使用頁面物件的設計模式。頁面物件模型將測試**和被測試的頁面的頁面元素及其操作方法進行分離,以降低頁面元素的變化對測試**的影響。每乙個被測試的頁面都會被定義為乙個類,類中會定位所有需進行測試操作的頁面元素物件,並且定義操作每乙個頁面元素物件的方法。

如果使用者沒有使用此模式,那麼獎登入過程都用相同的**段實現,如果在測試的過程中需要多次操作登入,那麼只能複製相同的**來簡化編寫工作,但是可怕的是一旦頁面元素發生一點點變化,那麼測試人員需求人工的把所有的涉及變化的邏輯一一修改,會在不同的測試**中進行搜尋和頁面修改,這樣大大的增加了工作量,很容易出現修改錯誤。

首先建立loginobject類

import org.openqa.selenium.webdriver;

import org.openqa.selenium.webelement;

import org.openqa.selenium.support.findby;

import org.openqa.selenium.support.pagefactory;

public

class

loginobject

}

然後再建立loginobjecttest類

import org.openqa.selenium.*;

import org.openqa.selenium.firefox.firefoxdriver;

import org.testng.annotations.aftertest;

import org.testng.annotations.beforeclass;

import org.testng.annotations.test;

public

class

loginobjecttest

@test

public

void

login() throws interruptedexception

@aftertest

public

void

aftertest()

}

PO Page object 頁面物件

在ui自動化時,越做到後面越難處理,主要會出現以下問題 1 越多,看的越擁擠,不好閱讀 2 維護成本越來越高,ui稍微改了一些變動,就要改大量 比如替換定位元素 3 函式方法多用,沒有可復用方法 在以上問題出現後,有人就總結出乙個po模式,主要原理就是將各種定位 方法 操作分開使用,使指令碼可讀可寫...

PO頁面物件模式封裝

po的主要價值體現在對介面互動細節的封裝,這樣可以使測試案例可以更關注與業務而非介面細節,提高測試案例的可讀性。以傳統的登陸頁面為例實現po模式,因為每個用例中都需要登陸。其中需要使用pagefactory.initelements 工廠方法,此方法也可以解決頁面元素過期的問題。頁面層,對用例中需要...

Page OBJECT 方法進實現頁面的註冊

小程式在 每個頁面js檔案 中通過使用page object 方法進行頁面註冊 該方法可以用於 指定小程式頁面的生命週期函式 page 方法的 object 引數如表所示。屬性型別 說明data object 頁面的初始資料 onload function 生命週期函式 監聽頁面的載入 onread...