I want to cast Appium Driver To AppiumFlutterDriver.
I implemented this methodes:
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.ios.IOSDriver;
import io.qualityplus.flutter.driver.AppiumFlutterDriver
public static AppiumFlutterDriver getAppiumFlutterDriver(AppiumDriver driver) {
return getTargetObject(driver);
}
@SuppressWarnings({"unchecked"})
private static <T> T getTargetObject(Object proxy) {
try {
while ((AopUtils.isCglibProxy(proxy))) {
return getTargetObject(((Advised) proxy).getTargetSource().getTarget());
}
return (T) proxy;
} catch (Exception e) {
throw new UnproxyDriverException();
}
}
I get the error:
Invocation of init method failed; nested exception is java.lang.ClassCastException: class io.appium.java_client.android.AndroidDriver cannot be cast to class io.qualityplus.flutter.driver.AppiumFlutterDriver (io.appium.java_client.android.AndroidDriver and io.qualityplus.flutter.driver.AppiumFlutterDriver are in unnamed module of loader 'app')
I expect that the casting is happing to FlutterDriver and AndroidDriver