Почему я получаю исключение java.lang.NullPointerException - PullRequest
0 голосов
/ 28 октября 2018

Я получаю исключение java.lang.NullPointerException для objUserName.sendKeys (uname);

@FindBy(how=How.XPATH,using="//input[@placeholder='Username']")
static WebElement objUserName;
 public LoginFeature(){
    PageFactory.initElements(config.driver, this);
}

public static String Enterusername(String uname){
    objUserName.sendKeys(uname);
    return uname;
}
public static void main(String[] args ) throws Exception {
    // TODO Auto-generated method stub

    LogF.EnterURL("http://localhost:90/greffa");
    LoginFeature.Enterusername("dummycfo");
    LoginFeature.EnterPwd("passw0rd");
}
}

Ответы [ 2 ]

0 голосов
/ 28 октября 2018

PageFactory.initElements внедряет объект webelement.Как вы еще не вызвали метод конструктора.Объект не инициирован и является нулевым объектом.

Сделать класс страницы не статичным и инициализировать класс для вызова метода конструктора

public LoginFeature {
  @FindBy(how=How.XPATH,using="//input[@placeholder='Username']")
   WebElement objUserName;
   public LoginFeature(){
      PageFactory.initElements(config.driver, this);
  }

  public String Enterusername(String uname){
      objUserName.sendKeys(uname);
      return uname;
  }
}

public Login {
  public static void main(String[] args ) throws Exception {  
      LogF.EnterURL("http://localhost:90/greffa");
      LoginFeature loginFeature= LoginFeature();
      loginFeature.Enterusername("dummycfo");
      loginFeature.EnterPwd("passw0rd");
  }
}
0 голосов
/ 28 октября 2018
  1. Вам необходимо определить и инициализировать экземпляр WebDriver.
  2. Этот код:

@ FindBy (how = How.XPATH, используя = "//input [@ placeholder = 'Username'] ") static WebElement objUserName;public LoginFeature () {PageFactory.initElements (config.driver, это);}

Лучше перейти в другой класс как объект Page.

После инициализации экземпляра WebDriver вам нужно инициализировать ранее созданный класс, используя Driver, поэтому вам нужно реорганизовать этот объект страницы.

Только после того, как эта часть вашего кода начнет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...