这是我的代码:
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)