Can't using PageFactory

23 views
Skip to first unread message

Nhân Vương

unread,
Apr 4, 2017, 5:12:39 AM4/4/17
to Selenium Users
I can't using PageFactory this case:
Class xxxLoginPage:
public class xxxLoginPage extends usingDriver{
public WebDriver driver;
public usingObjectLoginPage usingObjectLogin = new usingObjectLoginPage(driver);
  @Test
  public void LoginPass(){
 usingObjectLogin.LoginPass("nhanvh", "111111");
  }
  @Test
  public void LoginFail() {
 System.out.println(xxxCommons.URL_CHROME_DRIVE);
  }
  @BeforeTest
  public void beforeTest() {
 getURL(driver,xxxCommons.URL_CHROME_DRIVE, xxxCommons.URL_MUV_PAGE);
//  usingObjectLogin = new usingObjectLoginPage(driver);
  }

  @AfterTest
  public void afterTest() {
 
  }

}

Class usingObjectLoginPage :
public class usingObjectLoginPage {
public WebDriver driver;
public ObjectLoginPage ObjLogin;
public usingObjectLoginPage(WebDriver driver){
this.driver = driver;
ObjLogin = PageFactory.initElements(driver, ObjectLoginPage.class);
}
public void LoginPass(String username, String password){
xxxActions.setValue(ObjLogin.txtUser, username);
xxxActions.setValue(ObjLogin.txtPass, password);
xxxActions.doClick(ObjLogin.btnLogin);
}
}

Class C:
public class xxxActions {
public static void getValue(WebElement element) {
element.getText();
}

public static void setValue(WebElement element, String txt) {
element.sendKeys(txt);
}

public static void doClick(WebElement element) {
element.click();
}
}

I run it and occur error at LoginPass
In console have notification bellow:
PASSED: LoginFail
FAILED: LoginPass
java.lang.NullPointerException
at org.openqa.selenium.support.pagefactory.DefaultElementLocator.findElement(DefaultElementLocator.java:69)
at org.openqa.selenium.support.pagefactory.internal.LocatingElementHandler.invoke(LocatingElementHandler.java:38)
at com.sun.proxy.$Proxy7.sendKeys(Unknown Source)
at com.xxx.common.xxxActions.setValue(muvActions.java:11)
at com.xxx.utility.usingObjectLoginPage.LoginPass(usingObjectLoginPage.java:19)
at com.xxx.feature.muvLoginPage.LoginPass(muvLoginPage.java:18)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:100)
at org.testng.internal.Invoker.invokeMethod(Invoker.java:646)
at org.testng.internal.Invoker.invokeTestMethod(Invoker.java:811)
at org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1137)
at org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:129)
at org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:112)
at org.testng.TestRunner.privateRun(TestRunner.java:753)
at org.testng.TestRunner.run(TestRunner.java:607)

Please help me :(
Reply all
Reply to author
Forward
0 new messages