Java Selenium WebDriver POM处理复合类
我是selenium的新手,在我的代码中遇到了空指针异常, 下面是我的一个页面对象(登录页面)的一个类 这是我的测试用例代码Java Selenium WebDriver POM处理复合类,java,selenium-webdriver,nullpointerexception,Java,Selenium Webdriver,Nullpointerexception,我是selenium的新手,在我的代码中遇到了空指针异常, 下面是我的一个页面对象(登录页面)的一个类 这是我的测试用例代码 package TestCases; import org.testng.annotations.Test; import Lib.lib; import Pages.LoginPage; public class logging_in extends lib { LoginPage memLogin = new LoginPage(driver);
package TestCases;
import org.testng.annotations.Test;
import Lib.lib;
import Pages.LoginPage;
public class logging_in extends lib {
LoginPage memLogin = new LoginPage(driver);
@Test
public void user_login() throws Exception
{
memLogin.loginToKB("uzii@test.com", "uziii");
}
}
我正在从lib类导入chrome驱动程序配置,如下所示:
package Lib;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
public class lib {
protected static WebDriver driver = null;
@BeforeTest
public void chrome_extension()
{
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
driver = new ChromeDriver(options);
driver.get("http://www.testsite.com");
}
@AfterTest
public void quit()
{
driver.quit();
}
}
当我运行我的测试用例(登录)时,我最初重定向到网站页面,但之后它停止执行并给我复合类错误
错误似乎指向了这一点
By signInBtn=By.className(“btn btn主btn lg”)
请让我知道,如何处理复合类。如有任何帮助/反馈,将不胜感激。谢谢
删除第二个声明以避免空指针异常。您已在类库中将webdriver实例声明为private,这是正确的,然后您的e再次在类登录页中声明webdriver实例,这是错误的。@Rupshshinde非常感谢,这已得到解决。你能告诉我如何处理复合类名吗。我收到一个错误org.openqa.selenium.InvalidSelectorException:无效选择器:不允许使用复合类名,它似乎就是这个,By signInBtn=By.className(“btn btn主btn lg”);知道如何处理这些问题吗?@Uziii请注意,如果您希望更改问题,请编辑您的原始请求,否则您将被标记为以不正确的方式提问way@MrunalGosar我刚才会这么做。。。谢谢你让我知道。
package Lib;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.testng.annotations.BeforeTest;
import org.testng.annotations.AfterTest;
public class lib {
protected static WebDriver driver = null;
@BeforeTest
public void chrome_extension()
{
System.setProperty("webdriver.chrome.driver", "chromedriver.exe");
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
driver = new ChromeDriver(options);
driver.get("http://www.testsite.com");
}
@AfterTest
public void quit()
{
driver.quit();
}
}