Appium Questions and Answers for Mobile Test Automation

Appium Questions and Answers for Mobile Test Automation

Top APPIUM Testing Interview Questions & Answers

Question: What Is Appium And Why Do You Need It?

Appium is a free mobile testing tool and available as an open source from the GitHub. It has easy integration with Selenium Webdriver that’s what making it more famous.

Now, do you need it? It would solely depend on your requirements. But first of all, you’ll need to understand when you should use Appium. For example, if you are an app developer or a mobile app tester who wants to verify his app on multiple platforms. Then Appium can help you in doing that.

On the contrary, if your app is only for a single platform, then it’s not worth putting efforts in learning and using Appium for test automation.

Question: Write the advantages of using of Appium?

The advantages of Appium are listed below:-

1. Using the same API, Appium will allow you to write tests that are against mobile platforms.
2. By using any kind of test frame work or language you can write and run the tests.
3. Appium is an open source platform so you can contribute to it easily.
4. For the hybrid mobile applications and Native, Appium provides cross-platform.
5. Appium supports JSON wire protocol.
6. Appium do not require recompilation of App.
7. Appium also supports automation test on the physical devices and also for simulator or emulator both.
8. Appium does not have any dependency on mobile devices.

Please Click on Download button to download this questions for your easy reference.

Question: Write down the disadvantages of Appium?

Below are the few of the disadvantages of Appium:

1. The testing of those android that are lower than 4.2 is not allowed.
2. Appium has limited support for hybrid app testing. You will not be able to test the action that allows switching of applications from native to web app and from web app to native.
3. There is no support that will allow you to run Appium inspector on Microsoft Windows.

Question: How Many Types Of Apps Do You Know?

Mostly there are three kinds of apps in use.
  • Native apps 
  • Mobile web apps 
  • Hybrid apps 

Question: What are native Apps?

An open source tool that is required for mobile web, automating Native and hybrid application on Android and IOS platform is known as Appium which was in 2012. Appium is considered to be a cross-platform that will low you to write tests which are on multiple platforms like Android and IOS. They do this using the same API. This facility will enable you to do reuse of codes between Android and IOS test sites. 

Those Apps are written by using Android SDKs and IOS are known as Native Apps.

Question: What are Mobile Web Apps?

There are the mobile webs pages are those web apps that by are accessed with the mobile browsers. In the case of IOS platform, Appium supports Safari and for the Android platform, Chrome or any other built-in browser is used.

Question: What are hybrid apps?

Those apps that are equipped with wrapper around the web view is known as a Hybrid app. This is native control that will facilitate the interaction with the web content.

Question: What language does Appium support?

Appium support any language that support HTTP request like Java, JavaScript with Node.js, Python, Ruby, PHP, Perl, etc.

Question: What are The Basic Requirement For Writing Appium Tests?

For writing Appium tests you require:

  • Driver Client: Appium drives mobile applications as though it were a user. Using a client library you write your Appium tests which wrap your test steps and sends them to the Appium server over HTTP.

  • Appium Session: You have to first initialize a session, as such Appium test takes place in that session. Once the Automation is done for one session, it can be ended.

  • Desired Capabilities: To initialize an Appium session you need to define certain parameters known as “desired capabilities” like PlatformName, PlatformVersion, Device Name and so on. It specifies the kind of automation one requires from the Appium server.

  • Driver Commands: You can write your test steps using a large and expressive vocabulary of commands.
Please Click on Download button to download this questions for your easy reference.

 Question: what are various Appium abilities?

Below is the list of few Appium abilities:

·         Test Web
·         Provides cross-platform for Native and Hybrid mobile automation
·         Support JSON wire protocol
·         It does not require recompilation of App
·         Support automation test on physical device as well as similar or emulator both
·         It has no dependency on mobile device

Question: Explain the Appium Architecture?

  • Appium is an "HTTP Server" written using Node.js platform and drives iOS and Android session using Webdriver JSON wire protocol. Hence, before initializing the Appium Server, Node.js must be pre-installed on the system
  • When Appium is downloaded and installed, then a server is setup on our machine that exposes a REST API
  • It receives connection and command request from the client and execute that command on mobile devices (Android / iOS)
  • It responds back with HTTP responses. Again, to execute this request, it uses the mobile test automation frameworks to drive the user interface of the apps. Framework like
    • Apple Instruments for iOS (Instruments are available only in Xcode 3.0 or later with OS X v10.5 and later)
    • Google UIAutomator for Android API level 16 or higher
    • Selendroid for Android API level 15 or less

Question: List down few Limitations Of Appium?

  • The minimum Android version it supports is 4.2. It might not work on the lower versions.
  • It has little support for testing the hybrid apps. It doesn’t allow the switching from web app mode to native or vice-versa.
  • If you need multiple sessions, you need to add this support yourself. Appium doesn’t do it by default.
  • You can’t run appium inspector in Microsoft Windows.

Question: Explain The Difference Between Simulator And Emulator?

Emulation is the process of mimicking the outwardly observable behavior to match an existing target. The internal state of the emulation mechanism does not have to accurately reflect the internal state of the target which it is emulating.

Simulation, on the other hand, involves modeling the underlying state of the target. The end result of a good simulation is that the simulation model will emulate the target which it is simulating.

Question: What are the different types of mobile app testing?

The types of mobile app testing include:

·         Usability testing
·         Compatibility testing
·         Interface testing
·         Services testing
·         Low-level resource testing
·         Performance testing
·         Operational testing
·         Installation tests
·         Security testing

Question: How Can I Run iOS Tests Without Appium?

For older versions of iOS, Appium might not be supported. For instance, Appium supports foriOS versions 6.1 and later. For earlier versions of iOS, the tool or driver used to drive your mobile applications automated test is called iWebdriver.

To obtain a simulator driven by iWebdriver use the Platforms Configurator and select Selenium for the API instead of Appium. With an emulator driven by iWebdriver, you will be able to test Mobile Web Application only. In addition, in the Sauce Labs test, you will notice a “Selenium Log” tab which has the output of iWebdriver.

Question: What Is Appium Inspector and Why Is It Used?

It is similar to the Selenium IDE plugin and enables the record and playback support in Appium. It captures the moves of a native application by inspecting DOM and produces the test scripts in any desired language. However, Appium Inspector does not support Windows and uses the <UIAutomator> viewer.

Question: List down the common Errors You face While Working with Appium?

The following are the errors you might observe with Appium.

Error#1: Missing desired capabilities e.g. Device Name, PlatformName.

Error#2: Couldn’t locate ADB. You may have missed setting the <ANDROID_HOME> environment variable.

Error#3: Selenium exception <openqa.selenium.SessionNotCreatedException>. It indicates a failure in creating a new session.

Error#4: Failure in locating a DOM element or determining the XPath.

Please Click on Download button to download this questions for your easy reference.

Question: Mention the list of Selenium Commands That Work With Appium as well?

Below are the Selenium commands that work with Appium tool as well

  • Locate commands using ID or class names.
  • Raise events on elements e.g. Click().
  • Text commands like type().
  • Get/Set element properties.
  • Commands to run JavaScript.
  • Switch context between different web views like switching <iFrames> in Selenium Webdriver.
  • Commands to manage alert boxes

Question: what are the things Which You Cannot Do with Emulators But You Can Do With A Real Device?

we can test the interrupts like

  • Phone calls & Messages
  • Battery drains out while using the application under test
  • Low battery scenarios
  • Memory card mount/unmount scenarios
  • Actual performance of your application 
  • Bluetooth related testing

Question: Explain how test frameworks are supported by Appium?

Appium does not support test framework as such there is no need to support them. Appium can be used with any frameworks you want.

Question: What is Xcode?

It is an integrated development environment for OS X and iOS.

Question: How can you find the DOM element or X path in case of a mobile application?

In order to find the path between DOM elements or X path elements you can make use of "UIAutomateviewer" in case of Android application.

Question: How can you inspect elements that are present in Native Android App?

With the help of the UIAutomator tool that in present in Android SDK, you will be able to access those object locators that are part of the Android Native app.

Question: How is it possible to identify Mobile browser objects?

we can make use of User Agent in order to identify objects in Mobile browser. It is done by using the user agent and then changing the browser as the mobile proxy and thus gets an object.

Question: What mobile web browsers can I automate in the Android emulator?

Currently the only browser that can be automated in our Android emulators is the stock browser (i.e Browser). The Android stock browser is an Android flavor of ‘chromium’ which presumably implies that its behavior is closer to that of Google Chrome.

Question: Can You Run Multithreaded Tests In Appium?

Yes, we can. Appium doesn’t prevent you running the tests in a multithreaded environment. Just make sure that no more than one test runs at the same time against the same Appium server.

Question: What is Appium doctor?

Appium doctor is one of the node module that helps us to diagnose and fix common Node, iOS and Android configuration issues before starting Appium.

 Please Click on Download button to download this questions for your easy reference.



My Name is Ankur Jain and I am currently working as Automation Test Architect.I am ISTQB Certified Test Manager,Certified UI Path RPA Developer as well as Certified Scrum Master with total 12 years of working experience with lot of big banking clients around the globe.I love to Design Automation Testing Frameworks with Selenium,Appium,Protractor,Cucumber,Rest-Assured, Katalon Studio and currently exploring lot in Dev-OPS as well. I am currently staying in Mumbai, Maharashtra. Please Connect with me through Contact Us page of this website.

Previous Post
Next Post