使用頁面物件的設計模式。頁面物件模型將測試**和被測試的頁面的頁面元素及其操作方法進行分離,以降低頁面元素的變化對測試**的影響。每乙個被測試的頁面都會被定義為乙個類,類中會定位所有需進行測試操作的頁面元素物件,並且定義操作每乙個頁面元素物件的方法。
如果使用者沒有使用此模式,那麼獎登入過程都用相同的**段實現,如果在測試的過程中需要多次操作登入,那麼只能複製相同的**來簡化編寫工作,但是可怕的是一旦頁面元素發生一點點變化,那麼測試人員需求人工的把所有的涉及變化的邏輯一一修改,會在不同的測試**中進行搜尋和頁面修改,這樣大大的增加了工作量,很容易出現修改錯誤。
首先建立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...