Selenide. Не отрабатывает java метод
прошу помочь Selenide + Java + Maven. Pom - предположительно заполнен верно. не могу понять почему метод не отрабатывает (loginPage.setPhone(PHONE_NUMBER); )? ошибка:
java.lang.NullPointerException
at java.util.ArrayList.forEach(ArrayList.java:1259)
at java.util.ArrayList.forEach(ArrayList.java:1259)
Process finished with exit code -1
Есть класс в main - Login.java-
import com.codeborne.selenide.SelenideElement;
import org.openqa.selenium.By;
import static com.codeborne.selenide.Selenide.$;
public class LogintPage {
public static SelenideElement phoneNumberInput = $(By.xpath("//input"));// phone input
public static SelenideElement buttonNext = $(By.xpath("//"));// button Next
public static SelenideElement smsInput = $(By.xpath("//input"));// input sms code
/*public LoginPage setPhone (String phone) {
//this.phoneNumberInput.setValue(phone);
return this;
}
*/
public LoginPage setPhone(String phone) {
//this.phoneNumberInput.setValue(phone)
$(phoneNumberInput).setValue(phone);
return new LoginPage();
}
}
и тест класс - LoginPageTest:
package positiveTests.pages.loginTests;
import com.codeborne.selenide.Configuration;
import io.qameta.allure.*;
import org.junit.Before;
import org.junit.jupiter.api.Test;
import org.openqa.selenium.By;
import pages.LoginPage;
import static com.codeborne.selenide.Condition.text;
import static com.codeborne.selenide.Condition.visible;
import static com.codeborne.selenide.Selenide.$;
import static com.codeborne.selenide.Selenide.open;
import static constants.Constants.*;
import static pages.LoginPage.*;
public class LoginTests {
public LoginPage loginPage;
@Before
public void setup(){
Configuration.startMaximized = true;
Configuration.holdBrowserOpen = true;
// open("https://...");
}
@Test
public void inputCorrectTelNumAndCode(){ // ввод корректного номера телефона
open("https://...");
// phoneNumberInput.setValue(PHONE_NUMBER); - Если так то работает, если метод то нет
loginPage.setPhone(PHONE_NUMBER); - этот метод не срабатывает
buttonNext.click();
smsInput.setValue(SMS_CODE);
$(By.xpath("//span[text()='Создать заказ']")).shouldBe(visible).shouldHave(text("Создать заказ"));
}
}