I have a test in Selenium WebDriver with Page Object Model, if I run the following test open two windows in the Chrome browser, first window is empty in a URL line. How I can opening only one with onet.pl URL? I trying deleting initialize Chrome driver but will have null.exception error. What am I doing wrong?
package Pages; import org.openqa.selenium.WebDriver; import org.openqa.selenium.WebElement; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.FindBy; public class LoginPage { private WebDriver driver; //private WebDriverWait wait; public LoginPage() { this.driver = new ChromeDriver(); //wait = new WebDriverWait(driver,10); } @FindBy(xpath="//div[@class='col-md-12']//form") private WebElement loginForm; @FindBy(id="username") private WebElement loginField; @FindBy(id="password") private WebElement passwordField; @FindBy(xpath="//button[@class='btn btn-multisport-default btn-multisport-large btn-full-width login-button']") private WebElement buttonLogin; public void open() { driver.get("https://onet.pl"); } public void enterLogin() { String login = "[email protected]"; loginField.sendKeys(login); } public void enterPassword() { String password = "Benefit!"; passwordField.sendKeys(password); } public void login() { buttonLogin.click(); } } And test code:
import Pages.Dashboard; import Pages.LoginPage; import org.junit.jupiter.api.Test; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.PageFactory; import java.util.concurrent.TimeUnit; public class LogIn { @Test public void correctLogin() { System.setProperty("webdriver.chrome.driver", "src/main/resources/chromedriver.exe"); WebDriver driver = new ChromeDriver(); LoginPage loginPage = PageFactory.initElements(driver, LoginPage.class); driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS); loginPage.open(); loginPage.enterLogin(); loginPage.enterPassword(); loginPage.login(); driver.close(); driver.quit(); Dashboard dashboard = new Dashboard(driver); dashboard.getLoggedUser(); } }