Java 获取步骤定义类下驱动程序的空指针异常
我正在为Cucumber特性文件编写步骤定义,下面是我的代码。在代码的开头,我已经初始化了驱动程序并在@giveste中给出了驱动程序的路径,但仍然只在特定行上得到驱动程序的Null指针异常,即使整个代码都使用相同的驱动程序 下面是我的代码:Java 获取步骤定义类下驱动程序的空指针异常,java,webdriver,cucumber,cucumber-junit,Java,Webdriver,Cucumber,Cucumber Junit,我正在为Cucumber特性文件编写步骤定义,下面是我的代码。在代码的开头,我已经初始化了驱动程序并在@giveste中给出了驱动程序的路径,但仍然只在特定行上得到驱动程序的Null指针异常,即使整个代码都使用相同的驱动程序 下面是我的代码: public class annotation { WebDriver driver = null; @Given("^I am on Facebook login page$") public void goToFacebook()
public class annotation {
WebDriver driver = null;
@Given("^I am on Facebook login page$")
public void goToFacebook() {
System.setProperty("webdriver.chrome.driver", "D:\\Automation
Jars\\chromedriver_win32\\chromedriver.exe");
driver = new ChromeDriver();
driver.navigate().to("https://www.facebook.com/");
}
@When ("^I enter password as \"(.*)\"$")
public void enterPassword(String arg1) {
System.out.println("driver= "+ driver);
driver.findElement(By.id("pass")).sendKeys(arg1);
driver.findElement(By.id("u_0_v")).click();
}
@When("^I enter username as \"(.*)\"$")
public void enterUsername(String arg1){
System.out.println("driver= "+ driver);
driver.findElement(By.id("email")).sendKeys(arg1);
}
@Then("^Login should fail$")
public void checkFail() {
if(driver.getCurrentUrl().equalsIgnoreCase(
"https://www.facebook.com/login.php?login_attempt=1&lwv=110")){
System.out.println("Test1 Pass");
} else {
System.out.println("Test1 Failed");
}
driver.close();
}
下面是我得到的错误信息:
java.lang.NullPointerException
at annotation.annotation.enterUsername(annotation.java:32)
at ✽.When I enter username as "TOM"(annotation\outline.feature:10)
java.lang.NullPointerException
at annotation.annotation.enterUsername(annotation.java:32)
at ✽.When I enter username as "TOM"(annotation\outline.feature:16)
但我不明白。请在此提供帮助
findElement
可以在以下日志中返回null:annotation.enterUsername(字符串)[0m driver=null。另外,我看不到findElement返回null的任何原因。如果我错了,请纠正我。您可以添加功能文件吗?这是您添加的代码中的第32行?很抱歉延迟回复@Grasshopper,这是我的功能文件:功能:注释#这是如何使用后台消除重复步骤后台:用户na如果我在Facebook登录页面上,请访问Facebook#场景和场景:当我输入用户名为“TOM”,输入密码为“JERRY”时,登录应失败#场景和场景:当我输入用户名为“TOM”,输入密码为“JERRY”然后登录应该失败,但重新登录选项应该可用findElement
可以在日志中返回nullGetting:annotation.enterUsername(String)[0m driver=null。另外,我看不到findElement返回null的任何原因。如果我错了,请纠正我。您可以添加功能文件吗?这是您添加的代码中的第32行?很抱歉延迟回复@Grasshopper,这是我的功能文件:功能:注释#这是如何使用后台消除重复步骤后台:用户na如果我在Facebook登录页面上,请访问Facebook#场景和场景:当我输入用户名为“TOM”,输入密码为“JERRY”时,登录应失败#场景和场景:当我输入用户名为“TOM”,输入密码为“JERRY”然后登录应该失败,但重新登录选项应该可用