[Appium]Dart client for Appium

Flutter is growing. The framework is written in Dart.

In mobile native world, Swift/Kotlin/Objective-C/Java are normal way to implement applications. Cross platform framework environment such as JavaScript for ReactNative and C# for Xamarin, for example, also have market.

Flutter has been growing as a brilliant UI framework across Android and iOS. AndroidX-compose and SwiftUI also have been released. ReactNative is also diffusing.

Appium provides various bindings to implement mobile UI automation in them. Appium follows black box style. So, we can implement test code independently to their product code. (There are pros/cons tho)

Flutter provides testing framework such as flutter-driver like Espresso/EarlGrey/Appium while it can only automate Flutter UI. It means developers have no way to automate boundaries between Flutter and native implementations.

Flutter team will probably provide methods to see Flutter elements via Espresso/EarlGrey. It means Espresso/EarlGrey can detect Flutter element while Flutter cannot detect Android/iOS elements, perhaps.

Flutter is written in Dart, but such developers should learn Swift/Kotlin to write test code from Espresso/EarlGrey to Flutter. Appium can overwrap them (I know it is not fully tho) so far. So, I assumed what about Dart binding for Appium.

As same as other languages, I brings webdriver.dart as the Dart client’s main part. I roughly implemented test code and they worked for Appium local server. The client has a few Appium only features, so it is not matured. But you can get it via https://pub.dev/packages/appium_driver.

https://github.com/KazuCocoa/appium_dart

Personally, Dart client is better to implement Swift binding for Appium since Dart is for cross platform. https://fuchsia.googlesource.com/fuchsia/ also use it as UI. Easy to find a motivation to use cross platform tools than pure only iOS development…

1 Comment

Leave a Comment

This site uses Akismet to reduce spam. Learn how your comment data is processed.