In this fast-paced and highly digitized world, the number of mobile users has been rising to whopping billions across the globe. We can see smartphone users hooked to the screen and also the times they are browsing through their favorite mobile apps. With the rising demand for quick releases, it has become all the more important.
It’s hard to ignore the fragmentation aspect of mobile operating systems and devices regarding mobile app testing. This makes the process more challenging and further increases the importance of the best mobile testing tools.
While everyone in the web development and testing space knows that Selenium owns the web space, the mobile domain remains dominated by Appium. It’s a reasonably straightforward tool and is beginner friendly. Plus, if you are scared of writing tests in languages such as pearl, Python, Java, JavaScript, and C, using Appium is a piece of cake.
What is Appium?
Appium is one of the leading open-source test automation tools primarily focused on testing mobile apps. This cross-platform tool supports both iOS and Android operating systems and facilities the automation of test cases for web, native, and hybrid apps.
You can run tests on Mac, Windows, Linux, and so on while using the programming languages you prefer. However, you should remember that you can’t use Appium for Android versions below 4.2.
Architecture of Appium
Appium is a server written in the language Node. JS acts as an API interface between the mobile device under the Java client. Appium server facilitates sending of HTTP requests between the client and the server. The capabilities object creates customized sessions, after which it returns a session ID for communication ahead.
How Appium Works in Android and iOS
Appium testing determines whether apps work according to expectations and ensures that delivery consistency is optimal. Appium tests the Android UI using the UIAutomator test case (native UI Android automation framework).
For iOS, Appium tests the user interface with the help of Apple UIAutomation API. In other words, it sents JSON files which then work with iOS apps using text labels, buttons, and other UI elements.
Appium Prerequisites:
Check out the list of hardware and software to automate mobile app testing with Appium:
- Appium Desktop/Server
- Downloading and installation of Java
- JDK installed
- Setting up the environment variable
- Downloading and setup of Android SDK
- Eclipse
- Node JS
- Java-client jars
- Selenium jars
- APK – Mobile applications for automation
- USB driver
- Mobile devices
Appium Installation:
- Click on this link http://appium.io/ and select Download Appium.
- Download the exe file and click on it.
- Installing Appium isn’t a necessity on Windows Machine. You can directly run it from the previously downloaded exe. If you’re using Mac, installing the dmg is a must.
- Next, the screen will display a Server Start Window.
- Select the Start Server Button. It launches a new server on the host and the specified port. It also shows the Server log output.
- Click on ‘New Session Window’.
- You can enter the Desired Capabilities and start a session.
Starting Appium Server
- Start the server using the ⇒ appium command.
- It will show ‘Welcome to Appium.’
- If you have Appium Desktop, select the ‘Start Server’ button.
- It will display a welcome message that also shows the port and Appium version
- You also need to configure the server on the port.
Enable Options / Developer Mode on Android
1. Enable the Developer Options
1) Select the icon that says Main Menu.
2) Choose Settings.
3) Tap ‘About phone‘ after scrolling down a little bit.
4) Scroll some more and select the ‘Build number’ by tapping on it seven times.
5) Developer Options will display on the screen.
2. Switch On USB Debugging
1) From Developer Options, click on USB Debugging.
2) Click on OK if it doesn’t display the pop-up message.
3. Download the USB driver and install it for the Corresponding Real Device.
Locating Element Via UIAutomatorViewer
1) Connect the device in use to the computer.
Select Terminal and type the phrase ‘adb devices‘ to check device connectivity with the system.
2) Open the application for automation
3) Click on Users > Library > android > sdk > tools > uiautomatorviewer.bat
4) Select Device screenshot from UIAutomatorViewer. It will display the image of the device and detailed info.
Installing The Application on Emulators for App Testing
- Run the emulator for app installation.
emulator -avd
- The emulator launch will take place and the command is going to run.
- You can install the application with these two methods:
- Through ADB command:
- Download and put the apk in the folder
- Run adb install path/to/your/app.apk
- Through ADB command:
Run adb -s serial-number-of-device install path/to/your/app.apkDrag and Drop in case different emulators have been opened.
We can also use the drag and drop method in which you drag the apk to drop it on the emulator for app installation.
Conclusion
Even if someone is new to Appium, they can start out by referring to its official guide. Having some knowledge about Selenium makes working with Appium easier. However, it’s not a mandatory requirement. Try your manual testing experience further simplifies things.
Nowadays not an unusual occurrence for Major businesses to migrate to mobile apps to reinvent companies. Mobile app testing is the latest and crucial trend that is here to stay, thanks to the increasing demand for quality applications.
Due to Appium’s cross-platform nature has become the number one choice for mobile application testing for iOS and Android users. All you need to do is set up its hardware and software components like SDK, JDK, Java, Appium server, etc.
In the above sections, we have already discussed what Appium is, its architecture, how it works in Android and iOS, prerequisites, installation, starting the server, and enabling options. If you have any queries regarding its usage, sound off in the comments section below. We’ll be more than happy to clear all your doubts and questions.