gpt4 book ai didi

java - 我已经创建了 chrome 驱动程序对象,然后我得到了 java.lang.NullPointerException

转载 作者:行者123 更新时间:2023-12-01 18:02:01 26 4
gpt4 key购买 nike

我正在学习 TestNG,所以我创建了一个基类,其中我为 chrome 浏览器创建了对象。

这是我的基类

public class BaseClass {

public String url="https://dofdev-services.azurewebsites.net/";
public String username1="info@gravityconsulting.com.au";
public String password1="Gravity@123";
public WebDriver driver;

@BeforeClass
public void setUp()
{
System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir" +"/Drivers/chromedriver.exe"));
driver=new ChromeDriver();
}

@AfterClass()
public void tearDown()
{
driver.quit();
}
}

这是我的测试用例类

public class TC_LoginPage_001 extends BaseClass{

@Test
public void loginTestCase()
{
driver.get(url);
LoginPagePOM lp=new LoginPagePOM(driver);
lp.setUserName(username1);
lp.setPassword(password1);
lp.clickSignIn();

if(driver.getTitle().equalsIgnoreCase(""))
{

Assert.assertTrue(true);
}else {
Assert.assertTrue(false);
}
}

这是我的另一个类,我在这里创建了构造函数(pom 类)

 public class LoginPagePOM {

WebDriver driver;

public LoginPagePOM(WebDriver driver)
{
this.driver=driver;
PageFactory.initElements(driver, this);
}
@FindBy(id="userName")
WebElement username;

@FindBy(name ="passwords")
WebElement password;

@FindBy(name="btn-sdz-login")
WebElement click;


public void setUserName(String usname)
{
username.sendKeys(usname);
}

public void setPassword(String Pass)
{
password.sendKeys(Pass);
}

public void clickSignIn()
{
click.click();
}
}

这是异常堆栈跟踪(获取空指针异常)

exception stack trace

最佳答案

确保您的构造函数在登录页面中传递了驱动程序对象。您需要将驱动程序传递给所有页面类。此外,登录页面没有扩展基类。您需要按如下方式进行扩展,并删除登录页面中的 Webdriver 实例。

例如:

 public class LoginPagePOM extends BaseClass {
public LoginPagePOM (WebDriver driver)
{
this.driver=driver;

}

public void setUserName(){
........
}

public void setPassword(){
........
}

}

关于java - 我已经创建了 chrome 驱动程序对象,然后我得到了 java.lang.NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60612651/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com