A Quick Intro to Appium for Beginner’s

 




Appium:

  •  is an open-source test automation tool for mobile applications.
  • It allows testing all the three types of mobile applications: Native, Hybrid and Mobile Web.
  • It also allows you to run the automated tests on actual devices, emulators and simulators.
  • It offers cross-platform application testing i.e. single API works for both Android and iOS platform test scripts.
  • Appium supports all languages that have Selenium client libraries like- Java, Objective-C, JavaScript with node.js, PHP, Ruby, Python, C# etc.


Types of Apps:

Now we look in detail about those three types of mobile applications below:

  1. Native Apps:
    The native application is designed specifically for one particular mobile device or platform (Such as iOS, Android, Windows). These apps are available to be downloaded on the mobile via the respective app store.
    Example: Google Maps, Facebook, Linkedin
  2. Web Apps:
    Mobile web apps are accessed via the built-in browsers, such as Chrome on Android and Safari on iOS. Mobile web apps are not real applications, they are actually websites that open with the help of web browsers.
    Example: Gmail, Flipkart
  3. Hybrid Apps:
    A Hybrid app consists basically of websites packaged in a native wrapper. They are primarily developed in web technologies (HTML5, CSS, JavaScript) but run inside in a native container, thereby giving a feeling that it is a native app.
    Example: Evernote


Difference between Emulator and Simulator:

Many people are confusing about these terms. Now we can see that in short detail to get understand. Basically, both are virtual devices and its mimics the real phone things in terms of software.

For Android, we use Emulator as a virtual device.

For iOS, we use Simulator as a virtual device.

So we can use these virtual devices for our mobile automation instead of real devices. 


Appium Architecture:

Appium is a client-server architecture. It is an HTTP server written in Node.js that creates and handles WebDriver sessions.

The server performs actions in the given order:

  • Receives the connection from the client in the form of a JSON object over HTTP and initiates a session
  • Listens for commands issued
  • Executes those commands using the XCUITest (for iOS) / UiAutomator (for Android) test framework in the respective real devices / virtual devices ( simulator for iOS and emulator for Android)
  • Returns the command execution status to Appium server and server logs the result in the console.

Let’s take a look at the architecture, which is shown in the following diagram:




Happy Learning!

Comments

Post a Comment