簡體   English   中英

Selenium WebDriver Page對象模型描述

[英]Selenium WebDriver Page object model description

我是Selenium WebDriver自動化的新手。 我正在使用Java編程語言,並開始遵循頁面對象模型。 我想知道基本的文件結構,以及如何進行擴展。

實際示例將非常有幫助。 如果任何人都可以共享他們的示例項目,將不勝感激。 謝謝

您可以在以下URL上關注我的答案: 自動化測試框架

我試圖以一種非常簡單的方式來解釋它。

另外,您也可以參考下面的URL進行解釋,以供參考。 http://www.guru99.com/page-object-model-pom-page-factory-in-selenium-ultimate-guide.html

以下是一個小型演示,您如何使用Java和Selenium進行頁面對象模型的開發。

我創建了兩個類。 一類將用於在頁面上存儲所有Web元素,另一類將用於訪問該類的Web元素以執行預期的操作。

注意: 主頁是為存儲Web元素而創建的類。

public class Homepage {
    private static WebElement element = null;
    public static WebElement Generic_Search(WebDriver driver){

        element = driver.findElement(By.id("searchTerm"));
        return element;
        }

    public static WebElement Generic_Search_Count(WebDriver driver){

        element = driver.findElement(By.xpath("//div[@class='facet-count']/strong"));
        return element;
        }
    public static WebElement Generic_Search_Submit(WebDriver driver){

        element = driver.findElement(By.className("search-submit"));
        return element;
        }
}

注意: Simple_User_Flow類將用於訪問主頁的Web元素

public class Simple_User_Flow {
    private static WebDriver driver = null;

     public static void main(String[] args) {

    driver = new FirefoxDriver();
    driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    driver.get("http://materials.springer.com/");
    driver.manage().window().maximize();
    Homepage.Generic_Search(driver).click();
    Homepage.Generic_Search(driver).sendKeys("Mercury");
    Homepage.Generic_Search_Submit(driver).click();
    WebElement Search_Count = Homepage.Generic_Search_Count(driver);
    String Count = Search_Count.getText();
    System.out.println(Count + " Results found for your Search");
    driver.close(); 
}
}

請記住,這是一個非常簡單的演示,您可以添加多個類並在您的主類中使用它們。 我們可以根據類的功能或結構流程對其進行分組。

頁面對象是一種眾所周知的設計模式,已被自動化工程師廣泛接受,它為應用程序的每個頁面創建單獨的類文件,以將所有元素分組為屬性,並將其行為/業務功能分組為該類的方法。 但是在為頁面創建類時幾乎沒有問題-尤其是當頁面具有更多/不同的元素集/復雜元素(例如網格/日歷小部件/ HTML表格等)時。

該類可能包含過多的職責要處理。 應該對其進行重組並分成較小的類。 即,遵循“單一責任”。

在此處查看圖像以了解想法。

頁面片段

也就是說,創建可重用的頁面片段並讓主頁面對象提供頁面片段。

在這里查看更多信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM