appium / appium-flutter-driver

Appium Flutter Driver is a test automation tool for Flutter apps on multiple platforms/OSes. Appium Flutter Driver is part of the Appium mobile test automation tool maintained by community
MIT License
454 stars 183 forks source link

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

Closed HermansJarno closed 4 months ago

HermansJarno commented 4 months ago

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?

KazuCocoa commented 4 months ago

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.