appium/appium-flutter-driver

Flutter 2.5 upgraded to Flutter 3.X.X breaks testing with appium-flutter-driver

HermansJarno opened this issue · 1 comments

At our company development has upgraded flutter from v 2.5 to flutter v3 or above. This resulted in a breaking change for our regression set. We are wondering if we are the only ones with this problem and how we can fix this.

We use appium-flutter-driver in combination with browserstack. On browserstack the version of appium-flutter-driver is v1.18.1 (we asked browserstack already to upgrade).

We noticed a difference in rendertree which we dont know if it is caused by the development team or by flutter 3.x.x
o Flutter 2.5 = Scaffold-[<'loginPage'>] (is recognized by appium-flutter-driver v1.18.1 with byValueKey)
o Flutter 3.x.x = Scaffold-[String <'loginPage'>] (is not recognized by appium-flutter-driver v1.18.1 with byValueKey)

Will the upgrade of appium-flutter-driver on browserstack fix this issue? Or do we need to rewrite our code to identify objects in flutter. Currently we identify objects byValueKey, byType, byText.

We noticed that in flutter 3.19 there is a new field which can be controlled by native appium. Should we switch to native appium?

My personal recommendation is to switch to native as
https://github.com/appium/appium-flutter-driver?tab=readme-ov-file#appium-flutter-driver-or-appium-uiautomator2xcuitest-driver

I think upgrading appium flutter driver won't help. The result you attached was how low level Flutter side worked, so the result may not change in newer appium flutter driver side dependent low level library by Flutter is the same.