Selenium Webdriver - Pagefactory - TestNG - NullPointerException

时间:2017-01-18 20:03:29

标签: selenium selenium-webdriver

这是我的代码:

 public class Init{
    public static WebDriver driver;
    @BeforeSuite
    public static void init_method1(){
        System.setProperty("webdriver.ie.driver", "//Provide IEDriverLocation//");
        driver = new InternetExplorerDriver();  
    }

}

public class B{
    @FindBy(xpath="XXXXxxxxxx")
    WebElement b_obj;

    public B(){
        PageFactory.initElements(Init.driver, this);
    }   

    public void b_method1(){
        b_obj.sendkeys();
    }

}

public class C{
    B b =  new B();
    @Test
    public void c_method1(){
        b.b_method1;
        }
}

在TestNG.xml中,

<class name= "Package1.Init"></class>
<class name= "Package1.C"></class>

错误:

  

java.lang.NullPointerException at   org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)     在   org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)     在com.sun.proxy。$ Proxy9.isDisplayed(未知来源)at   org.openqa.selenium.support.ui.ExpectedConditions.elementIfVisible(ExpectedConditions.java:302)     在   org.openqa.selenium.support.ui.ExpectedConditions.access $ 100(ExpectedConditions.java:41)     在   org.openqa.selenium.support.ui.ExpectedConditions $ 10.apply(ExpectedConditions.java:288)     在   org.openqa.selenium.support.ui.ExpectedConditions $ 10.apply(ExpectedConditions.java:285)     在   org.openqa.selenium.support.ui.FluentWait.until(FluentWait.java:238)     在Package1.C._method1(B.java:8)的Package1.C.c_method1(C.java:3)     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at   sun.reflect.NativeMethodAccessorImpl.invoke(未知来源)at   sun.reflect.DelegatingMethodAccessorImpl.invoke(未知来源)at   java.lang.reflect.Method.invoke(未知来源)at   org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:104)     在org.testng.internal.Invoker.invokeMethod(Invoker.java:645)at   org.testng.internal.Invoker.invokeTestMethod(Invoker.java:851)at at   org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1177)at at   org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)     在   org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)     在org.testng.TestRunner.privateRun(TestRunner.java:756)at   org.testng.TestRunner.run(TestRunner.java:610)at   org.testng.SuiteRunner.runTest(SuiteRunner.java:387)at   org.testng.SuiteRunner.runSequentially(SuiteRunner.java:382)at at   org.testng.SuiteRunner.privateRun(SuiteRunner.java:340)at at   org.testng.SuiteRunner.run(SuiteRunner.java:289)at   org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)at   org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)at   org.testng.TestNG.runSuitesSequentially(TestNG.java:1293)at at   org.testng.TestNG.runSuitesLocally(TestNG.java:1218)at at   org.testng.TestNG.runSuites(TestNG.java:1133)at   org.testng.TestNG.run(TestNG.java:1104)at   org.testng.remote.AbstractRemoteTestNG.run(AbstractRemoteTestNG.java:132)     at org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:236)     在org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:81)

0 个答案:

没有答案