我对目前正在工作的硒框架有一个基本的疑问。 我有一个初始化chrome驱动程序的驱动程序类。
public class page1 {
private static WebDriver driver;
protected static String WINDOWS_DRIVER = "/chromedriver/windows/chromedriver.exe";
public static WebDriver initi(){
if(driver == null){
System.setProperty("webdriver.chrome.driver",page1.class.getResource(WINDOWS_DRIVER).getFile());
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("test-type");
options.addArguments("--start-maximized");
options.addArguments("--ignore-certificate-errors");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
driver=new ChromeDriver(capabilities);
}
return driver;
}
}
我有2个类扩展了驱动程序类。
public class page2 extends page1 {
public WebDriver driver;
public void testmethod1(){
driver=super.initi();
driver.navigate().to("https://www.google.co.in/");
}
}
public class page3 extends page1 {
public WebDriver driver;
public void testmethod2(){
driver=super.initi();
driver.navigate().to("https://in.yahoo.com/?p=us");
}
}
最后,我有一个testsuite类,我想创建一个浏览器实例并调用所有3个类的方法。
public class finalclass extends page1{
public page2 _page2;
public page3 _page3;
public WebDriver driver;
@Test
public void finaltest(){
driver=super.initi();
driver.get("http://www.rediff.com/");
_page2.testmethod1();
_page3.testmethod2();
}
}
在函数调用中抛出空指针异常错误。你能帮忙吗?