I don’t know since, but testTagsAsResourceId is available as part of androidx.compose.ui.semantics package in Compose. According to the description, the value will be available as AccessibilityNodeInfo.viewIdResourceName. This is brilliant news since UIAutomator can access the element via resource id as before, via accessibility tree-based integration test such as Appium/UIA2 driver. testTag is via extras. Now,…More
Tag Archives: automation
[iOS] XCUIAutomation.framework in Xcode 13
Appium/WDA has referred to XCTest and XCTAutomationSupport frameworks. Recently, some header files for XCUITest has removed but they still worked. Thus, I wondered where the removed files. Then, I found XCUIAutomation.framework has existed since Xcode 13 in a private framework. For example, Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/PrivateFrameworks/XCUIAutomation.framework. Appium/WDA failed to build when I simply added the framework in linker,…More
[appium] try out some settings when you cannot get expected elements
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
[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
[iOS] note about codesign
This article is a note about codesign in iOS. Apple products have codesign CLI to manage codesign features. Once you unzip .ipa file (iOS case), the command allows you to check the codesign data etc. Then, you could see the below data. embedded.mobileprovision in the .app is the provision profile stuff. _CodeSignature has sign information.…More
Note about “image injection”
Real environment approach HeadSpin Mocking approach SauceLabs https://www.browserstack.com/docs/app-automate/appium/advanced-features/camera-image-injection https://docs.saucelabs.com/mobile-apps/features/camera-image-injection/ Perfecto https://help.perfecto.io/perfecto-help/content/perfecto/manual-testing/instrumentation.htm I know that real environment and mocking is trade-off things. It should depend on what test cases want to check, close to actual user usages as possible (and analyze the result), or allowing to mocks by making the test grey box. Personally, when you’d…More