Closed mohanrajmcad closed 2 years ago
If you use a custom driver, you need to manage a lot of things that Serenity would normally do yourself. Why do you need a custom driver?
@wakaleo,
Custom driver helps me to parametrize appium properties programmatically based in connected devices like passing udid at run time so that I can connect any device without changing the properties. Moreover below values can be parametrized based on available ports at runtime that helps to execute scripts in local machine parallelly with multiple devices.
webkitDebugProxyPort wdaLocalPort chromeDriverPort systemPort webkitDebugProxyPort
Appium script flow is working fine if i provide webdriver.driver= appium in serenity properties file. However it is failing if I configure appium as customdriver with provided option. Any idea about this error?
Serenity Version : 1.9.0
[main] WARN net.thucydides.core.pages.Pages - Failed to instantiate page of type class com.cucumber.app.zpages.android__login_pages ({}) java.lang.IllegalArgumentException: Can not set net.serenitybdd.core.pages.WebElementFacade field com.cucumber.app.zpages.android__login_pages.btn_already_have_a_account to io.appium.java_client.android.AndroidElement$$EnhancerByCGLIB$$b598166c at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:167) at sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:171) at sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:81) at java.lang.reflect.Field.set(Field.java:764)