I have a Appium Testng Framework which has been developed in intellij, Whenever i run the class locally from intellij everything works fine but when I create a run configuration giving path of xml file , it throws exception
java.lang.IllegalArgumentException: Can not set io.appium.java_client.MobileElement field PageObjects.Create_customerObjRep.identification to org.openqa.selenium.remote.RemoteWebElement$$EnhancerByCGLIB$$d27c0df4
This is my objectory class
public class LoginObjRep {
@AndroidFindBy(id = “txtHaId”)
@CacheLookup
public MobileElement user_id;
Then a class for pages
public class LoginPage extends BasePage {
LoginObjRep loginObjRep =new LoginObjRep();
public LoginPage(AppiumDriver driver) {
super(driver);
PageFactory.initElements(new AppiumFieldDecorator(driver,5, TimeUnit.SECONDS),loginObjRep)
}
And finally test class
if(loginPage == null)
loginPage=new LoginPage(driver);
loginPage.ValidLogin();
}
**My xml is **
<?xml version="1.0" encoding="UTF-8"?>
<test name="SetUp">
<classes>
<class name="Tests.AppiumBaseTest"/>
</classes>
</test>
<test name="LoginTest">
<classes>
<class name="Tests.LoginTest"/>
</classes>
</test>
<test name="CreateCustomer">
<classes>
<class name="Tests.CreateCustomerTest"/>
</classes>
</test>
<test name="Dashboard Elements">
<classes>
<class name="Tests.DashboardTest">
</class>
</classes>
</test>
<!-
When I run the xml file it only runs once class . I.e, DashboardTest for rest of the class it throws the exception