尝试使用testNG执行页面对象模型时获取空指针异常。
在将测试类作为TestNG Test执行时,@BeforeSuite成功执行,但是在PageClass中的WebElement行上显示错误,指出空指针异常。
错误:失败:地址验证成功 java.lang.NullPointerException 在pageobjects.AddressValidationPage。
P.S。 -非常抱歉,如果我在问题介绍中不清楚,因为我是该论坛和编程的新手。
这是我的页面课程
打包pageobjects;
//从这里进口
公共类AddressValidationPage {
WebDriver driver;
WebDriverWait wait;
public AddressValidationPage(WebDriver driver, WebDriverWait wait) {
this.driver=driver;
this.wait=wait;
}
By CheckAvailability = By.xpath("//button[@id='btn_gtservice']");
WebElement addressinput =driver.findElement
(By.xpath("//input[@id='pac-input']"));
public void addressvalidation(String Address) {
wait.until(ExpectedConditions.frameToBeAvailableAndSwitchToIt("iFrameResizer0"));
addressinput.sendKeys(Address);
addressinput.sendKeys(Keys.ARROW_DOWN);
addressinput.sendKeys(Keys.ENTER);
wait.until(ExpectedConditions.visibilityOfElementLocated(CheckAvailability)).click();
}
}
下面是我的测试班
package newpackage;
导入org.testng.annotations.Test;
导入pageobjects.AddressValidationPage;
公共类AddressValidationTestClass扩展了BaseClass {
@Test
public void addressvalidationsuccess() {
AddressValidationPage TC1 = new AddressValidationPage(driver, wait);
TC1.addressvalidation("1611 Dragon Street Dallas TX");
}
}
这是我的基础课
package newpackage;
//从这里进口
公共类BaseClass {
public static WebDriver driver = null;
public static WebDriverWait wait;
@BeforeSuite
public void initialize() {
System.setProperty("webdriver.chrome.driver", "C:\\Users\\kovid.anil.mehta\\Downloads\\chromedriver.exe");
driver = new ChromeDriver();
wait = new WebDriverWait(driver,10);
driver.get("I have Entered the URL here");
driver.manage().window().maximize();
}
}
我希望此代码输入由url打开的“输入地址”页面。