Я новичок в программировании и автоматизации Java Selenium WebDriver.
Может ли кто-нибудь объяснить шаблон объекта страницы на примере.
Я новичок в программировании и автоматизации Java Selenium WebDriver.
Может ли кто-нибудь объяснить шаблон объекта страницы на примере.
Шаблон PageObject представляет экраны (страницы) вашего веб-приложения в виде набора объектов (классов Java). Эти объекты называются «PageObjects».
PageObject не обязательно должен представлять всю страницу. Он может представлять собой раздел, который появляется много раз на сайте или странице, например навигация по сайту. Основной принцип заключается в том, что в вашем наборе тестов есть только одно место, знающее структуру HTML конкретной (части) страницы.
Например, вместо такого тестового метода:
@Test()
public void test() {
driver.get("http://www.mysite.com");
WebElement username = driver.findElement(By.id("user"));
username.sendKeys("admin");
WebElement password = driver.findElement(By.id("pass"));
password.sendKeys("admin");
WebElement login = driver.findElement(By.id("login"));
login.click();
// ...
}
где вы будете переопределять имя пользователя, пароль и логин WebElements, если вам нужно создать еще один тест для страницы входа, вы можете использовать PageObject для представления страницы входа следующим образом:
public class LoginPage {
public HomePage loginAs(String username, String password) {
WebElement username = driver.findElement(By.id("user"));
username.sendKeys("admin");
WebElement password = driver.findElement(By.id("pass"));
password.sendKeys("admin");
WebElement login = driver.findElement(By.id("login"));
login.click();
return new HomePage();
}
а затем, из вашего теста:
@Test()
public void test() {
driver.get("http://www.mysite.com");
LoginPage loginPage = new LoginPage();
HomePage homePage = loginPage.loginAs("admin", "admin");
// ...
}
В любом случае, я бы порекомендовал вам ознакомиться с официальной документацией по PageObjects и также читайте о PageFactory.
Надеюсь это поможет ;)
Я думаю, что лучше всего изучить это на примере страницы проекта Selenium в Google Code< /а>.
Сначала разберитесь с концепцией: Каждая страница представлена классом, и поэкспериментируйте с простым веб-сайтом, с которым вы уже знакомы.
Например, выберите простой веб-сайт и напишите несколько тестов для проверки процесса входа в систему. Для этого смоделируйте участвующие веб-страницы (например, LoginPage, HomePage) в классах, как указано в шаблоне проектирования Page Objects, и используйте эти объекты в методах тестирования.
Когда вы почувствуете себя достаточно комфортно с этим, вы можете сделать шаг вперед и для сложных веб-страниц смоделировать отдельный класс для разных разделов на одной странице для лучшего повторного использования и меньших затрат на обслуживание.