我收到objUserName.sendKeys(uname);的java.lang.NullPointerException;
@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");
}
}
答案 0 :(得分:0)
@FindBy(how = How.XPATH,using =“ // input [@ placeholder ='Username']”)静态 WebElement objUserName;公共LoginFeature(){ PageFactory.initElements(config.driver,this); }
最好作为Page对象移到另一个类。
只有这部分代码开始工作。
答案 1 :(得分:0)
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");
}
}