我是selenium框架的新手,我正在尝试创建一个框架并开始迈向学习框架。我已经为登录页面编写了一个代码,但是我在这里得到了" nullPointerException"。任何人的帮助都会更好。提前致谢。
答案 0 :(得分:1)
您的驱动程序未初始化,您在Utility Class中编写了代码,您可以在LoginPage中扩展UtlitlityClass并在LoginPage中使用@BeforeMefthod,您可以在其中创建驱动程序实例并在测试方法中使用它并且@ AfterMethod摧毁同样的东西。
答案 1 :(得分:0)
这是因为声明了WebDriver驱动程序;在父类和子类中。
示例:1。创建一个基类,并在基类中声明Webdrievr; 2.Created子类并在子类中声明webdriver。 3.child类扩展基类。 这个问题来了。
因此,在Base类或Child Class中声明WebDriver驱动程序。
答案 2 :(得分:0)
最好放置可编辑的代码,以便对其进行纠正; 1.从实用程序中的静态webdriver驱动程序中删除静态 2.删除登录页面中声明的webdriver
问题:基本URL是否启动homepag或登录页面
如果是首页
1.创建一个主页类
2.在实用程序中-进行此分配-
主页homepgobj = driver.get(url);
返回homepgobj;
并用文字首页替换空白。
3.现在在“主页”中创建方法,使用
中的pagefactory导航到“登录”页面
公共LogInPage navigationToLoginPage(){
driver.navigate()。to(“登录页面网址”);
LoginPage logInPageObj =
PageFactory.initElements(driver,LoginPage.class);
返回loginPageObj;
}
4.在主页上创建const。就像在登录页面中所做的那样,将driverFactory放置到driverobj中,但不要在其中放置pagefactory
5.还要从const中删除页面工厂元素。登录页面
6.创建登录页面测试类以编写测试
。现在,在进行书面测试时,导航至登录页面,如下所示
主页homepgObj = startBrowser(浏览器,URL)-
-这将导航到主页
登录loginpgObj =
homepgObj.callmethodcreatedinhomepage]-
-
将导航到登录页面。
loginpgObj.[Call methods of loginpg]
答案 3 :(得分:0)
我也面临着同样的问题。当我在测试中使用BaseClass(父类)声明WebDrive驱动程序时,错误地也在测试类(子类)中声明了Webdriver。它在重复声明驱动程序。只需删除,WebDriver驱动程序;从儿童班开始,此问题已解决