In some cases, no expected elements are in views via Appium/UIA2 driver. It has some conditions, so it is worth trying out the below settings apis. enableMultiWindows ignoreUnimportantViews allowInvisibleElements These attributes allow you to find elements via Appium/UIA2 driver. They may not be able to find via uiautomator framework via Android as general way, so…More
Tag Archives: appium
[Appium] Debug gesture pointer in Android
This is a tip to debug gesture actions. Android OS has many debug options in its developer tools. This tip is also one of them. In inout section, you can find Show taps and Pointer location items. They allow showing helpful debug information for gestures. They will help you to figure out how gestures work.More
[Appium] Avoid “Security exception: adb clearing user data is forbidden” for Chrome in some Android devices
Some devices deny calling adb pm clean by their customization. Afaik, some Chinese devices such as Oppo have. In Appium, such an error could occur when an appium capabilities have noReset is false and fullReset is false. The combination is its default value. To avoid the error, noReset should be true (skip the cleaning) or…More
[Appium] make appium/WDA re-use fast with “testProductsPath” since Xcode 13.3 beta 2
https://developer.apple.com/documentation/xcode-release-notes/xcode-13_3-release-notes -testProductsPath argument for xcodebuild exists in Xcode 13.3 beta 2. It helps to split xcodebuild for testing. xcodebuild already has build-for-testing and test-without-building. This argument enhances the usage more. In Appium/WDA build already has some helpful methods to run WDA fast. appium:useXctestrunFile, appium:usePrebuiltWDA and appium:derivedDataPath. This testProductsPath helps appium:useXctestrunFile way to make it simple.…More
[Appium] device disconnection by java.io.FileNotFoundException in UsbDeviceManager
Device disconnection occurred when like the below exception happened in an Android device. It was a temporary disconnection, probably, so the device got back to normal immediately. But that was not “USB disconnected” situation…More
[Appium] Progressive Web Apps on iOS
Progressive Web Apps (PWA) works as an app on iOS while the base is Web Site. Appium allows you to automate, but it needs a few tricks. Establish a session with 1) autoLaunch: false and bundleId: ‘com.apple.mobilesafari’, or 2) without app and bundleId but with includeSafariInWebviews: true Launch the home screen with activating com.apple.springboard Click…More
[Android]Java 11 in AndroidStudio
Gradle v7 requires Java 11 to build Android apps. Android Studio bundled OpenJDK forked version for the build. You can find the version like the below path in JetBrain’s toolbox. “/Users/kazu/Library/Application Support/JetBrains/Toolbox/apps/AndroidStudio/ch-2/212.5457.46.2112.790598 3/Android Studio Preview.app/Contents/jre/Contents/Home” So, JAVA_HOME should refer to the path. Non-toolbox is in the Android Studio’s package.More
[Android][Compose][Appium] Compose over appium espresso driver
Appium is getting a feature to test Android Jetpack Compose over compose context. https://github.com/appium/appium-espresso-driver#jetpack-compose-support is the place to see how the current Appium Espresso driver works with the compose over the compose context. Appium UIA2 driver has a different architecture to work with it, so the compose support can work over the espresso driver. The…More
[Appium] a tip to launch an iOS app with language and locale
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
[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