Appium can launch an iOS app with an arbitrary language/locale by XCTest feature. The well known way is appium:language and appium:locale capabilities. The behind is simple. Appium provides -AppleLanguages and -AppleLocale process arguments to the launching process to the application under test. It means you can launch an arbitrary application with an arbitrary language. It…More
Category Archives: test automation
[Appium][Android] Change window/tab in a chrome custom tab
A chrome custom tab is a chrome browser instance on an Android device. Appium tries to get available contexts by checking browser/webview processes on the device/application. It means even when the chrome custom tab has multiple tabs/windows, Appium probably can find a chrome instance (process) and attach to it. To switch to another tab on…More
[Appium][XCTest] XCTest(UI) requires passcode/fingerprint on iOS 15
I noticed that XCTest(UI) required us to input passcode to run on a real device if the device has had a passcode security preference on iOS 15. The passcode can be fingerprint or face id. (It depends on its preference) It means Appium/WDA also gets the same issue. It should not be an impact on…More
[Appium][Flutter] Handling WebView contexts in flutter-appium-driver
I’ve recently added WebView feature in the appium-flutter-driver Webview still work in progress? #45. The v0.0.32 should have it. debuggingEnabled is necessary t enable WebView availability in Flutter. Then, appium UIA2/XCUITest, which runs to handle the application under test as part of appium-flutter-driver, can find its WebView context. So, you can do like the below code…More
[Appium][Flutter] Flutter driver is now in appium-userland repository
I’ve created a prototype for Flutter x Appium in https://kazucocoa.wordpress.com/2019/05/27/appiumfluttercalls-flutter-driver-via-httprequests/, but https://github.com/truongsinh/appium-flutter-driver already has many users than the prototype. So I’ve decided to contribute to the flutter-driver as a primary voluntary contribution. Recently, the https://github.com/truongsinh/appium-flutter-driver moved to https://github.com/appium-userland/appium-flutter-driver so that other contributors were also able to maintain the project. The intention of the appium-userland organization…More
[iOS] alternative of iproxy: tidevice and ios-go
I’ve known of the repository and CLI, but let me leave this link here as my note. https://github.com/alibaba/taobao-iphone-device https://github.com/danielpaulus/go-iosMore
[Appium][Android] Chrome Custom Tab
A note about chrome custom tab when I tested in appium#13543 Demo apps in https://github.com/GoogleChrome/android-browser-helper helped me to check basic chrome custom tabs availability via Appium. Some apps may have custom chrome tabs. Then, I assume it requires setting chrome options properly. My test environment had Appium 1.21.0 or newer, so possibly older ones had…More
[Android][Compose][Appium] More accessibility-friendly
I toyed compose with Appium like the below before to investigate the availability of compose in Appium. [Android][Compose][Appium] Take a look at AndroidComposeTestRule See https://github.com/appium/appium/issues/15138 as well. In early April, I was not able to compose materials in the below image area, but today I was able to. For example, “send” button was not accessible,…More
[Appium][Android] Compose Layout
About https://github.com/appium/appium/issues/15138 I toyed compose layout with JetChat in https://github.com/android/compose-samples with Appium. Below XMLs are the result. When we add contentDescription in each element, Appium can access them. But I understand the contentDescription is for accessibility feature. We should not use it only for automation as possible. I wondered resource-id and tag. But so far,…More
[Android][Compose][Appium] Take a look at AndroidComposeTestRule
Composer has ComposeTestRule and AndroidComposeTestRule to test Composer. https://developer.android.com/jetpack/compose/testing As Appium, we’d like to inject them to interact with composer components reliably. So, I took a look at their code a bit to understand the codebase. According to https://developer.android.com/jetpack/compose/testing#espresso-interop this section, the composer rule can use with Espresso. Thus, I guessed Appium-Espresso driver also could…More