Базовый класс:
protected WebDriver driver;
protected String URL = "https://www.example.com/";
public static String SignupURL = "https://www.example.com/login";
public Login loginpage;
@BeforeClass
public void setup()
{
System.setProperty("webdriver.chrome.driver","E:\\Selenium-Webdriver\\Chrome_Driver\\chromedriver.exe");
driver = new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
driver.navigate().to(URL);
loginpage = PageFactory.initElements(driver,Login.class);
}
Класс входа:
protected WebDriver driver;
public Login(WebDriver driver) {
this.driver = driver;}
public Login Method1()
{
//Logic
}
Класс LoginTest:
public class LoginTest extends Base {
@Test
public void method1()
{
setup() //Have to Call it
//Logic
}
@Test
public void method2
{
setup() //Have to Call it
//Logic
}
}
Вопрос: Почему требуется вызывать метод setup() для каждого метода в тестовом классе.
Я уже расширяю класс, тогда драйвер должен вызываться автоматически, но это не так. Когда я не вызываю setup(), получаю Nullpointer Exception. Если я его вызываю, система открывает новый браузер для каждого метода.