[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][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

[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

[Appium] Send CDP commands to chrome over Appium

I’ve added a route to send CDP command to Chromedriver. CDP stands for Chrome Devtools Protocol. It provides commands to handle a browser via the protocol. Some commands can be alternatives to WebDriver spec, but they have their own more useful commands. It is available over WebSocket. You can find CDP clients in the internet,…More