Когда я выполняю тест, у меня появляется это «java.lang.NullPointerException».
Как я могу исправить эту проблему? Уже проверяют другие темы, но все еще есть некоторые проблемы.
Буду очень рад решить эту проблему.
Тест (клик страницы входа):
public class MainPage {
private WebDriver driver;
static WebDriver wait;
public MainPage(WebDriver driver) {
this.driver = driver;
}
@FindBy (xpath = "//a[text()='Sign in']" )
private WebElement signInButton;
public LoginPage clickSignIn() {
signInButton.click();
return new LoginPage(driver);
}
Main:
public class MainPageTest {
private WebDriver driver;
private MainPage mainPage;
@Before
public void setUp() {
driver = new ChromeDriver();
driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.get("https://github.com");
mainPage = new MainPage(driver);
}
@Test
public void signInTest(){
LoginPage loginPage = mainPage.clickSignIn();
String heading = loginPage.getHeadingText();
Assert.assertEquals("Sign in to GitHub", heading);
}
@After
public void tearDown(){
driver.quit();
}
Класс LoginPage:
public class LoginPage {
WebDriver driver;
public LoginPage(WebDriver driver){
this.driver = driver;
}
private By loginField = By.xpath(".//*[@id='login_field']");
private By passwordField = By.xpath(".//*[@id='password']");
private By signInButton = By.xpath("//input[@type='submit']");
private By heading = By.xpath("//div[contains(@class, 'auth-form- header')]/h1");
private By error = By.xpath(".//*[@id='js-flash-container']//div[@class='container']");
private By createAccLink = By.xpath("//a[text()='Create an account']");