Ниже представлена небольшая демонстрация того, как вы можете продвигать объектную модель страницы с использованием Java и Selenium.
Я создал два класса. Один класс будет использоваться для хранения всех веб-элементов на странице, а другой класс будет использоваться для доступа к веб-элементам этого класса для выполнения намеченных операций.
Примечание:Сайт - это класс, созданный для хранения веб-элементов.
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 класс будет использоваться для доступа к веб-элементы из Главная
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();
}
}
Помните, что это очень просто демо, Вы можете добавить несколько классов и использовать их в основной класс. мы можем группировать классы в соответствии с их функциональностью или структурным потоком.
Была ли вы объектной моделью страницы google? Там есть множество ссылок ... один из которых [на сайте селена] (https://code.google.com/p/selenium/wiki/PageObjects) – JeffC