Appium interview questions

  1. Name the tools you used in debugging Appium.
  2. Explain data exchange in Appium?
  3. Explain the risks associated with Appium testing.
  4. Do you know about the Appium inspector? Why is it used?
  5. Name the different types of mobile applications present in today’s era
  6. How much time it will take to write a test in Appium?
  7. If someone already has platform-specific tests, should he/she migrate to Appium and why?
  8. Enlist the advantages and disadvantages of Appium.
  9. Mention some common bugs that appear during mobile testing?
  10. What do you know about Appium?
  11. Name some types of mobile application testing?
  12. What is mobile application testing? Differentiate it from mobile testing.
Appium interview questions

Appium is a well documented open-source automation tool for executing scripts and testing native applications and hybrid applications on both Android and iOS. Appium uses web drivers to operate. It was originally developed on the popular programming language C# under the name “iOS Auto” in the year 2011. It was open-sourced in August 2012 using the Apache 2 license and in the year 2013, Appium’s development was funded by Sauce Labs and it was rewritten using Node.js after which this tool gained much popularity and fame in the field of application development.

It is built on the idea that testing native applications must not need including a software development kit or recompilation of the application enabling the application to use preferred test practices, frameworks, and other software development tools. It has a great advantage of automating any mobile application from any computer language and any test framework. Appium also gives full access to back end API and all the databases. So it is a great opportunity for coders, developers as well as enthusiasts to work under this prestigious company. But Appium interview questions are a little bit tricky and hard to crack. So here are a few questions that may be asked in the interview

Download Appium interview questions PDF

Logs are generally used for detecting the cause of the issue and to find out the reason for failure in Appium.

  • For iOS, iPhone configuration utility can be used
  • For Android, Monitor.bat is used for debugging.

If logs from these tools are provided, then the cause of the error can be easily found out.

Data exchange in Appium can be defined as exchanging information hosted by complex objects. These objects are stored in different parts of the web view application which is under testing just like a window object. Data exchange can be understood by considering a scenario in which events are dispatched and captured. The application can perform many functions and the way the data flows can also vary which can cause problems during testing.

There are many risks associated with Appium testing which are as follows :

  • Availability of skilled resources: Automation testing demands-resources which must be skilled and have some knowledge about programming.
  • Cost of automation is high initially: The cost of automation is initially too high as it includes many things such as cost of automation tools to be purchased, training and maintenance of various test scripts.
  • First, the UI has to be fixed mandatorily before automation: Before automation, it is compulsory to fix the user interface and keep a check whether the UI is changing extensively and the cost of automation and maintenance.
  • Tests that have been run once should be stopped automating: To avoid ambiguity, test modules that have been run once should be stopped automating.

Appium inspector is very similar to the Selenium IDE plugin. Appium inspector has a great advantage of recording and playback support. It is basically used to capture the moves of the native application by inspecting DOS and producing test scripts in any programming language which is compatible with the user. But, the Appium inspector does not support Windows and works only viewers.

Mobile applications can be broadly classified into three main categories in today’s era which are as follows :

  • Native mobile applications: The mobile apps which are developed for a particular platform and also developed with a specific programming language and are available for download in the Google Play Store for Android users and App Store for iOS users are called native applications. For example Candy Crush, tinder, etc.
  • Web application: Web applications are kind of mobile web portals that are designed, prepared and customized only for mobile users. These are not available for download but are available on the web browsers of mobile phones for usage. For example m.yahoo.com, m.snapdeal.com, etc.
  • Hybrid application: Hybrid applications are made by combining the best features of both native and web applications. These are the web apps that are embedded in the native app which runs on the device.

It totally depends on the test which is to be performed. If the test simply runs a scenario, it will take commands of very few lines and also very less interaction will be needed in order to test that application whereas if the test is complex and requires transfer of data it will take much more time than the previous one and also it will be a little difficult to read the lines of code of that test. 

This discussion can be concluded by saying that there is only one factor on which the time needed depends which is the complexity of the test and it is directly proportional to the time taken in Appium.

 

Unfortunately, there is no propaganda or medium to translate normal tests into Selenium tests i.e tests performed by Appium. Current tests can be easy to migrate if they are following a self automation process as Appium does otherwise it is a tough job to migrate to Appium. If someone already has performed specific tests, then in general views, he/she has to rewrite the code from the beginning in order to test it with Appium.

There are various advantages of Apium which are as follows :

  • Provides cross-platform for testing both native and web applications
  • JSON wire protocol well supported
  • Recompilation of application is not required
  • Independent of mobile device
  • The automation test is supported by Appium on a physical device and simulator as well as an emulator.
  • Appium is based on Selenium which is its strongest point of this tool.
  • Designed to encourage a two-tier architecture.

Appium has also a few disadvantages like :

  • Cannot support older versions of Android (lower than 4.2)
  • It has very little capability to locate and recognize images.
  • Common gestures are yet to implement in Appium.
  • Support of hybrid applications is limited

Common bugs that tend to appear during mobile testing are as follows :

  • Critical: Crashing of the whole mobile device while testing a particular feature in the device.
  • Block: Inability to do anything on the phone after testing unless the device is rebooted.
  • Major: Inability to perform a function of a particular feature.
  • Minor: GUI bugs fail in this type of mobile testing.

Appium is a well documented open-source automation tool for executing scripts and testing native applications and hybrid applications on both Android and iOS which uses web drivers to operate. It is a very budding company that has gained many users in a short interval of time. Appium philosophy says that :

  • The application which is submitted to the marketplace should be tested only.
  • Writing tests in any framework and in any language which is compatible.
  • Aim to build a large open-source community effort.
  • A standard automation specification and API must be used.

There are numerous types of mobile application testing. Some of them are :

  • Usability testing
  • Compatibility testing
  • Interface testing
  • Security testing
  • Installation testing
  • Low-level resource testing
  • Performance testing
  • Operational testing
  • Low-level resource testing
  • Service testing

Mobile Application testing also commonly abbreviated as MAT is the type of testing on mobile devices and it is pretty different from mobile testing as in mobile testing, focus is on the native applications of the mobile phone i.e. call, SMS, etc and in mobile application testing the focus is only on that application which is to be tested. The functionality and features of the application which is to be tested are considered in mobile application testing and other factors are ignored.