Appium Notes
Appium Notes
1. Cross-Platform Support:
Appium allows testing of both iOS and Android applications using the
same set of APIs. This cross-platform support simplifies test
development and maintenance.
2. Open Source:
Appium is an open-source tool, making it accessible to a wide range of
users and allowing the community to contribute to its development.
3. Compatibility:
It supports a variety of programming languages, including Java, Python,
C#, Ruby, JavaScript, and PHP. Testers can use their preferred language
for test script development.
4. Native, Hybrid, and Mobile Web Applications:
Appium is versatile and supports testing for native mobile applications,
hybrid applications, and mobile web applications using a single
automation framework.
5. Real Devices and Emulators/Simulators:
Appium allows testing on both real devices and emulators/simulators.
This flexibility enables comprehensive testing across various
environments.
6. Standard Automation APIs:
Appium uses standard automation APIs provided by the respective
mobile operating systems. For iOS, it uses XCUITest, and for Android, it
uses UI Automator.
7. Integration with Selenium WebDriver:
Appium leverages the Selenium WebDriver protocol for interacting with
mobile devices. This allows testers familiar with Selenium to easily
transition to mobile testing.
8. No App Modification Required:
Unlike some other testing tools, Appium does not require modifications
to the mobile app being tested. The app can be tested as is, without
the need for a special testing version.
9. Continuous Integration (CI) Integration:
Appium can be seamlessly integrated with continuous integration tools
like Jenkins, allowing for automated testing as part of the CI/CD
pipeline.
10. Active Community Support:
Appium has a large and active community of users and contributors.
This community support results in frequent updates, bug fixes, and the
availability of resources for learning and troubleshooting.
1. Appium Server:
Appium operates as a server, which accepts HTTP requests from the
client libraries and translates them into actions on the target device.
2. Client Libraries:
Test scripts are written in various programming languages (Java,
Python, etc.) using Appium's client libraries. These libraries interact with
the Appium server to send commands to the mobile device.
3. Mobile Application:
The mobile application being tested is installed on the device or
emulator/simulator. Appium interacts with the app through its
automation APIs.
4. Mobile Device:
Appium communicates with the mobile device using the mobile
operating system's automation frameworks (XCUITest for iOS, UI
Automator for Android).
Getting Started with Appium:
To get started with Appium, you typically need to follow these steps:
Pre-Requisites
1. Install JDK
a. Open browser and open
https://www.oracle.com/java/technologies/downloads/
b. Select JDK 21 and click window
c. Download x64 MSI Installer
d. After download double click on file to install
e. Set environment variable
Variable name: JAVA_HOME
Variable value: C:\Program Files\Java\jdk-21
Add paths as
%JAVA_HOME%\bin
%JAVA_HOME%\lib
2. Install Eclipse IDE
a. Open browser with https://www.eclipse.org/downloads/
b. Click on download packages
c. Click on Window X86_64
d. After download double click on file to install
e. Select IDE for Enterprise java and web developers
f. Pass location where to install
3. Maven plugin for eclipse (Internal plugin for Eclipse)
In latest eclipse maven plugin by default comes
Android Tools
1. Install NodeJS
2. Android studio (IDE, SDK packages and generates virtual devices)
3. Appium server (Appium software)
4. Appium GUI/Desktop
5. Appium Inspector
6. Appium client library (.jar files or maven dependency in Eclipse IDE)