Перейти к содержимому

Программирование на Python для тестировщиков
онлайн, начало 21 сентября
Школа тест-менеджеров v. 2.0
онлайн, начало 26 сентября
Логи как инструмент тестировщика
онлайн, начало 24 сентября
Школа для начинающих тестировщиков
онлайн, начало 24 сентября
Фотография

Статический WebDriver и PageFactory


  • Авторизуйтесь для ответа в теме
В теме одно сообщение

#1 Raindrops

Raindrops

    Новый участник

  • Members
  • Pip
  • 23 сообщений

Отправлено 21 Июнь 2018 - 15:05

Структура выглядела примерно так:

"Фабрика"

 

public class Factory{
WebDriver webDriver;

public Factory(WebDriver driver){
webDriver = driver;
}
public LoginPage loginPage (){
return new LoginPage(webDriver);
    }
}

 

Фабричная страница

 

public class LoginPage {
private WebDriver webDriver;

public LoginPage(WebDriver driver){
webDriver = driver;
PageFactory.initElements(webDriver, this);
    }
}

 

 

И, собсна, сами тесты

 

public class Tests {
WebDriver webDriver;
Factory factory;

@Before
public void preCondition(){
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
webDriver = new ChromeDriver();
factory = new Factory(webDriver);;
}
@Test
public void test(){
factory.loginpage.element.click();
}

 

 

Но вдруг понадобилось использовать статический @Beforeclass и схема начала сыпаться. Своего ума хватило только на это:

Собсна фабричный класс:

 

public class Factory {
static WebDriver webDriver;
public Factory (WebDriver driver){
webDriver = driver;
}
public LoginPage loginPage(){
return new LoginPage(webDriver);
    }
}


public class LoginPage {
WebDriver webDriver;

public LoginPage(WebDriver driver) {
webDriver = driver;
PageFactory.initElements(TestClass.webDriver, this);
    }
}

 

 

И, собсна, NullPointException:

 

public class Test {
@BeforeClass
public static void setupClass() {
System.setProperty("chromedriver.exe");
webDriver = new ChromeDriver();
}
@Test
public void add(){
factory.loginPage().PasswordField.click();
    }
}

 

Помогите идиоту правильно инициализировать webDriver


  • 0

#2 Alex

Alex

    Постоянный участник

  • Members
  • PipPipPip
  • 216 сообщений
  • ФИО:Алексей

Отправлено 25 Июнь 2018 - 08:02

 

Структура выглядела примерно так:

"Фабрика"

 

public class Factory{
WebDriver webDriver;

public Factory(WebDriver driver){
webDriver = driver;
}
public LoginPage loginPage (){
return new LoginPage(webDriver);
    }
}

 

Фабричная страница

 

public class LoginPage {
private WebDriver webDriver;

public LoginPage(WebDriver driver){
webDriver = driver;
PageFactory.initElements(webDriver, this);
    }
}

 

 

И, собсна, сами тесты

 

public class Tests {
WebDriver webDriver;
Factory factory;

@Before
public void preCondition(){
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
webDriver = new ChromeDriver();
factory = new Factory(webDriver);;
}
@Test
public void test(){
factory.loginpage.element.click();
}

 

 

Но вдруг понадобилось использовать статический @Beforeclass и схема начала сыпаться. Своего ума хватило только на это:

Собсна фабричный класс:

 

public class Factory {
static WebDriver webDriver;
public Factory (WebDriver driver){
webDriver = driver;
}
public LoginPage loginPage(){
return new LoginPage(webDriver);
    }
}


public class LoginPage {
WebDriver webDriver;

public LoginPage(WebDriver driver) {
webDriver = driver;
PageFactory.initElements(TestClass.webDriver, this);
    }
}

 

 

И, собсна, NullPointException:

 

public class Test {
@BeforeClass
public static void setupClass() {
System.setProperty("chromedriver.exe");
webDriver = new ChromeDriver();
}
@Test
public void add(){
factory.loginPage().PasswordField.click();
    }
}

 

Помогите идиоту правильно инициализировать webDriver

 

Так а где factory инициализируется?


  • 0


Selenium 2.0: стартовый уровень
онлайн, начало 7 сентября
Программирование на Java для тестировщиков
онлайн, начало 7 сентября
Автоматизация функционального тестирования
онлайн, начало 5 октября
Selenium WebDriver: полное руководство
онлайн, начало 14 сентября



Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных

Яндекс.Метрика
Реклама на портале