org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)中的java.lang.NullPointerException

问题描述 投票:0回答:3

我是selenium框架的新手,我正在尝试创建一个框架并开始学习框架的步骤。我已经为登录页面编写了一个代码但是在这里我得到了“nullPointerException”。任何人的帮助都会更好。提前致谢。 enter image description hereenter image description here

selenium selenium-webdriver testng-eclipse
3个回答
1
投票

您的驱动程序未初始化,您在Utility Class中编写了代码,您可以在LoginPage中扩展UtlitlityClass并在LoginPage中使用@BeforeMefthod,您可以在其中创建驱动程序实例并在测试方法中使用它并使用@AfterMethod来销毁相同。


0
投票

这是因为声明了WebDriver驱动程序;在父类和子类中。

示例:1。创建一个基类,并在基类中声明Webdrievr; 2.Created子类并在子类中声明webdriver。 3.child类扩展基类。这个问题来了。

因此,在Base类或Child Class中声明WebDriver驱动程序。


0
投票

更好地放置可编辑的代码,以便纠正它; 1.从Utility 2中的静态webdriver驱动程序中删除静态。删除在Login页面中声明的webdriver

问题:基本URL是否启动homepag或登录页面如果主页然后1.创建主页类2.在实用程序中 - 使此对齐 - 主页homepgobj = driver.get(url); 返回homepgobj; 并用文本主页替换void。 3.现在在主页创建方法中使用pagefactory导航到登录页面 public LogInPage navigateToLoginPage(){ driver.navigate()。to(“Loginpage url”); LoginPage logInPageObj = PageFactory.initElements(driver,LoginPage.class); return loginPageObj; 4.在主页上创建const。 to driverobj就像在登录页面中完成,但不要在其中放置pagefactory 5.还从const中删除页面工厂元素。登录页面6.创建登录页面测试类以编写测试。现在,当写入测试导航到登录页面时,如此主页homepgObj = startBrowser(浏览器,网址) - - 这将导航到主页 登录loginpgObj = homepgObj.callmethodcreatedinhomepage] - - 将导航到登录页面。

 loginpgObj.[Call methods of loginpg]
© www.soinside.com 2019 - 2024. All rights reserved.