In this video, we will do 2 examples with Appium 2.0:
- MobilWeb Test Automation on iPhone Safari (xcuitest). Example Website is our Youtube channel https://www.youtube.com/c/SoftwareTestingBootcamp
- Native Android app Test Automation on Android device (uiautomator2) Example App is https://play.google.com/store/apps/details?id=com.bilgikolik.app&hl=tr&gl=US
Topics other than mobile automation are out of the scope of this doc.
Requirements:
- Java JDK 11 installation
- Homebrew installation
- NodeJS installation
- IntelliJ IDEA CE Installation
- Appium Server v2.0.0-beta.25 installation (Required for Mobile TestRun & Debugging)
- Appium Desktop v1.22 installation (Optional)
- Appium Inspector v2022.1.2 installation (Required for Debugging the Apps)
- Android Studio installation (Required for Android Emulator access)
- Xcode installation (Required for iOS Simulator access)
Appium Server & Driver Installation
Before starting Appium server installation, you need to install NodeJS
npm install -g appium@next
appium driver install uiautomator2
appium driver install xcuitest
Appium Plugin Installation
appium plugin install --source=npm appium-wait-plugin
appium plugin install --source=npm appium-device-farm
appium plugin install --source=npm appium-dashboard
Appium Wait Plugin Activation
source ~/.bash_profile
appium --use-plugins element-wait
NOTE: Now you can say goodbye to your “wait.until” commands on your automation project.
Appium Device Farm Plugin Activation
source ~/.bash_profile
appium server -ka 800 --use-plugins=element-wait,device-farm,appium-dashboard --plugin-device-farm-platform=Android
NOTE: Please visit this link after activation to check your devices. http://localhost:4723/device-farm/
As you can see here, many features in Appium version1 are now decoupled. Whatever you need, you have to install it
How to run?
Run TestNG’s “suite/AndroidGroup.xml” file to start the Android App automation. Remember that you have to create a new Android Emulator on your computer within Android Studio AVD Manager.
Run TestNG’s “suite/SafariGroup.xml” file to start the Safari MobileWeb automation. Remember that you have to enable your Safari Developer options and activate “Automatically Show Web Inspector for JSContexts” for your iOS simulator.
Github:
https://github.com/software-testing-bootcamp/S2E2-Appium-2.0-Java-Mobile-Automation
Resources:
https://github.com/appium/appium-inspector
https://github.com/appium/appium-desktop
https://github.com/appium/appium-plugins
https://github.com/AppiumTestDistribution/appium-wait-plugin
https://github.com/AppiumTestDistribution/appium-device-farm
https://github.com/appium/java-client/blob/master/docs/v7-to-v8-migration-guide.md
https://javadoc.io/doc/io.appium/java-client/latest/deprecated-list.html
https://mvnrepository.com/artifact/io.appium/java-client
https://www.jetbrains.com/idea/download
Webinar Video: