Home Appium Environment Setup Android Emulators iOS Simulators Appium Architecture Android chrome app automation Safari browser automation Appium Capabilities Inspecting android apps Native Android app automation Inspecting iOS app Native iOS app Automation Real Android Phone automation Real iPhone automation Element Identification Pressing button FaceId and TouchId Fingerprint automation Drag and Drop Tap and press Swipe gestures Hybrid app automation Execute script Synchronization in Appium Screenshots Page Object Models Cucumber and Appium Appium integration with azure Appium and Selenium Grid Running tests in browserstack Parallel testing Recording tests Mobile automation framework Errors and Exceptions in Appium Mobile automation test strategy Mobile automation challenges Appium QnA
Challenges in automation using appium
Here is the list of main challenges.
- Biometrics automation is not possible on real devices
- You can not automate document scanning scenario. You will have to use stubs on emulators
- Setting up the appium environment on new machine is a nightmare as it needs multiple tools like java, android sdk, UiAutomator, XCUITest, xcode, simulators, carthage, node etc and versions of all these tools needs to be compatible with each other.
- Running tests on emulators is painful as it runs very slowly especially launching the emulator is very time consuming.
- Integration of appium tests in cloud like Azure, AWS is very challenging as we need to write the script to install all tools automatically and also execution is very slow in cloud
- New versions of Xamarin forms (4.0) are not supported by Appium 1.15.1 so We need to ask developers to modify the app in such a way that Appium can identify the elements
- Touch actions like swiping, long tapping differ based on resolution of the emulator so writing compatible tests for all emulators is challenging
- Sometimes Android emulator and apps may crash which makes tests very shaky
- Noted that webdriverwait does not work in iPhone simulator but works in Android emulator so need to use different wait mechanism for iPhone simulators
- Sometimes the app provided by developer does not work on the simulators but it works on devloper machine due to version issues of xcode, build configurations etc. This may result in strained relationship with devlopers.
- Mostly automation testers come from Windows OS background but automating the iOS apps needs knowledge of MAC OS. So training may be required to learn MAC OS and iOS
- Some technical challenges may arise depending upon the app. e.g. XCUItest was not able to select value from the dropdown in one of the iOS app.
- Many platforms - Android, iOS, Windows, Firefox OS
- Many versions of Same platform - e.g. In iOS, possible versions can be 11, 12, 13 etc
- Many device types - Tablets, Phablets, Phones, iPads
- Device orientation - Portrait and landscape Orientation can cause issues in testing.
- App types - native, hybrid, web
- If web debugging is disabled in the Android app settings, Appium will not be able to switch the context to web view. In this case, you need to ask developer to create the different build with web debugging enabled.
- Multiple automation technologies - XCUiTest, Espresso, UiAutomator, Selendroid
- Multiple tools - Appium, Ranorex, Robotium, MonkeyRunner, UFT Pro or LeanFT
- Multiple cloud based testing providers - Browserstack, saucelabs, experitest, applitools, AWS device farms
Complex problems, Simple Solutions