Java 获得;空指针异常";在使用SeleniumWebDriver执行maven项目时
当我的代码首先执行时,它执行Java 获得;空指针异常";在使用SeleniumWebDriver执行maven项目时,java,maven,selenium,selenium-webdriver,Java,Maven,Selenium,Selenium Webdriver,当我的代码首先执行时,它执行LoginTest.Java类,然后它进入Main.Java,但在这些代码中,我得到空指针异常,它不是读取get-the-driver-in方法。 谁能帮我解决这个问题,我是初学者 提前谢谢 LoginTest.Java类: public class LoginTest { private static final String ADDRESS_TO_TEST = "http://www.gmail.com"; private WebDriver d
LoginTest.Java
类,然后它进入Main.Java
,但在这些代码中,我得到空指针异常,它不是读取get-the-driver-in方法。
谁能帮我解决这个问题,我是初学者
提前谢谢
LoginTest.Java类:
public class LoginTest {
private static final String ADDRESS_TO_TEST = "http://www.gmail.com";
private WebDriver driver;
Main Login;
HomePage homePage;
@BeforeTest
public void setUp() {
FirefoxDriver driver = new FirefoxDriver();
driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
driver.get(ADDRESS_TO_TEST);
}
@Test(priority = 0)
public void testLoginPageAppear() {
// Create Login Page object
Login = new Main(driver);
System.out.println("Login-->" + Login);
Login.loginToGmail("abc@gmail.com", "abc");
homePage = new HomePage(driver);
// Verify home page
Assert.assertTrue(homePage.getHOmePageEmailAddress().toLowerCase()
.contains("Google Account: abc@gmail.com"));
}
}
Main.Java类:
package GmailLogin;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
public class Main {
/*
* Reference
* URL:http://www.guru99.com/page-object-model-pom-page-factory-in-
* selenium-ultimate-guide.html
*/
WebDriver driver;
By email = By.id("Email");
By nextButton = By.id("next");
By password = By.id("Passwd");
By signInButton = By.id("signIn");
public Main(WebDriver driver) {
System.out.println("Driver--->" + driver);
this.driver = driver;
}
public void setEmailAddress(String strEmailAddress) {
driver.findElement(email).sendKeys(strEmailAddress);
}
public void clickNextButton() {
driver.findElement(nextButton).click();
}
public void setPassword(String strPassword) {
driver.findElement(password).sendKeys(strPassword);
}
public void clickSignInButton() {
driver.findElement(signInButton).click();
}
public void loginToGmail(String strEmailAddress, String strPassword) {
System.out.println("Email-->" + strEmailAddress);
System.out.println("Password-->" + strPassword);
this.setEmailAddress(strEmailAddress);
this.clickNextButton();
this.setPassword(strPassword);
this.clickSignInButton();
}
}
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
Driver--->null
Login-->GmailLogin.Main@5940ce27
Email-->abc@gmail.com
Password-->abc
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 21.016 sec <<< FAILURE! - in TestSuite
testLoginPageAppear(GmailLogin.LoginTest) Time elapsed: 0.047 sec <<< FAILURE!
java.lang.NullPointerException
at GmailLogin.LoginTest.testLoginPageAppear(LoginTest.java:47)
空指针异常:
package GmailLogin;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
public class Main {
/*
* Reference
* URL:http://www.guru99.com/page-object-model-pom-page-factory-in-
* selenium-ultimate-guide.html
*/
WebDriver driver;
By email = By.id("Email");
By nextButton = By.id("next");
By password = By.id("Passwd");
By signInButton = By.id("signIn");
public Main(WebDriver driver) {
System.out.println("Driver--->" + driver);
this.driver = driver;
}
public void setEmailAddress(String strEmailAddress) {
driver.findElement(email).sendKeys(strEmailAddress);
}
public void clickNextButton() {
driver.findElement(nextButton).click();
}
public void setPassword(String strPassword) {
driver.findElement(password).sendKeys(strPassword);
}
public void clickSignInButton() {
driver.findElement(signInButton).click();
}
public void loginToGmail(String strEmailAddress, String strPassword) {
System.out.println("Email-->" + strEmailAddress);
System.out.println("Password-->" + strPassword);
this.setEmailAddress(strEmailAddress);
this.clickNextButton();
this.setPassword(strPassword);
this.clickSignInButton();
}
}
-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
Driver--->null
Login-->GmailLogin.Main@5940ce27
Email-->abc@gmail.com
Password-->abc
Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 21.016 sec <<< FAILURE! - in TestSuite
testLoginPageAppear(GmailLogin.LoginTest) Time elapsed: 0.047 sec <<< FAILURE!
java.lang.NullPointerException
at GmailLogin.LoginTest.testLoginPageAppear(LoginTest.java:47)
-------------------------------------------------------
T T S T S
-------------------------------------------------------
运行测试套件
驱动程序-->null
登录-->GmailLogin。Main@5940ce27
电子邮件-->abc@gmail.com
密码-->abc
测试运行:1,失败:1,错误:0,跳过:0,经过的时间:21.016秒此行导致驱动程序对象仅在方法范围内:
FirefoxDriver driver = new FirefoxDriver();
换成
driver = new FirefoxDriver();
以填充类属性