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
Category Archives: test automation
[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
[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
[Puppeteer][Chrome] DevTools Recorder
https://developer.chrome.com/docs/devtools/recorder/ will be available since Chrome v97. I tried it out in the canary channel a bit. It looks like the recorder is similar to https://github.com/puppeteer/recorder https://kazucocoa.wordpress.com/2020/11/26/recorder-chrome-devtools-base/ but it was integrated with Chrome well. So, you can start a recording via the Web Inspector, manage scenarios on it and export it as Puppeteer’s code. The…More