MOST POPULAR Appium Interview Questions & Answers | ACTE
Appium Interview Questions and Answers

MOST POPULAR Appium Interview Questions & Answers

Last updated on 04th Jul 2020, Blog, Interview Questions

About author

Aravindraj (Sr Project Manager )

High level Domain Expert in TOP MNCs with 8+ Years of Experience. Also, Handled Around 20+ Projects and Shared his Knowledge by Writing these Blogs for us.

(5.0) | 16547 Ratings 2188
  • These Appium Interview Questions have been designed specially to get you acquainted with the nature of questions you may encounter during your interview for the subject of Appium .
  • As per my experience good interviewers hardly plan to ask any particular question during your interview, normally questions start with some basic concept of the subject and later they continue based on further discussion and what you answer.

Q1.Explain what is Appium?

Ans:

Appium is a freely distributed open source mobile application UI Testing framework.

Q2. List out the Appium abilities?

Ans:

  • Appium abilities are
  • 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

Q3. List out the pre-requisite to use APPIUM?

Ans:

  • Pre-requisite to use APPIUM is
  • ANDROID SDK
  • JDK
  • TestNG
  • Eclipse
  • Selenium Server JAR
  • Webdriver Language Binding Library
  • APPIUM for Windows

Q4. List out the limitations of using Appium?

Ans:

  • Appium does not support testing of Android Version lower than 4.2 Limited support for hybrid app testing.
  • E.g., not possible to test the switching action of application from the web app to native and vice-versa No support to run Appium Inspector on Microsoft Windows.

Q5. Explain how to find DOM element or xPath in a mobile application?

Ans:

To find the DOM element use “UIAutomateviewer” to find DOM element for Android application.

Q6. Explain the design concept of Appium?

Ans:

  • 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.
  • 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.

Q7.What language does Appium support?

Ans:

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

Q8. Explain the pros and cons of Appium?

Ans:

Pros:

  • For programmer irrespective of the platform, he is automating ( Android or iOS) all the complexities will remain under single Appium server.
  • It opens the door to cross-platform mobile testing which means the same test would work on multiple platforms Appium does not require extra components in your App to make it automation friendlyIt can automate Hybrid, Web and Native mobile applications.

Cons:

  • Running scripts on multiple iOS simulators at the same time is possible with Appium It uses UIAutomator for Android Automation which supports only Android SDK platform, API 16 or higher and to support the older API’s they have used another open source library called Selendroid.

Q9.Explain what is APPIUM INSPECTOR?

Ans:

  • Similar to Selenium IDE record and Playback tool, Appium has an “Inspector” to record and playback.
  • It records and plays native application behavior by inspecting DOM and generates the test scripts in any desired language.
  • However, Appium Inspector does not support Windows and use UIAutomator viewer in its option.

Q10.Mention what are the basic requirement for writing Appium tests?

Ans:

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 to the Appium server over HTTP.
  • Appium Session: You have to first initialize a session, as such Appium test takes place in the session. Once the Automation is done for one session, it can be ended and wait for another session
  • 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.

Q11.Mention what are the possible errors one might encounter using Appium?

Ans:

The possible errors one might face in Appium includes

  • Error 1: The following desired capabilities are needed but not provided: Device Name, platformName.
  • Error 2: Could not find adb. Please set the ANDROID_HOME environment variable with the Android SDK root directory path.
  • Error 3: openqa.selenium.SessionNotCreatedException: A new session could not be created.
  • Error 4: How to find DOM element or XPath in a mobile application?

Q12.Do you need a server machine to run tests on Appium?

Ans:

  • No, you don’t need server machine to run tests on Appium.
  • Appium facilitates a 2-tier architecture where a test machine connects to a test server running Appium and automating the whole thing.
  • You can have Appium running on the same machine where your test runs.

Q13.Is it possible to interact with my apps using Javascript while I am testing with Appium?

Ans:

  • Yes, it is possible to interact with App while using Javascript.
  • When the commands run on Appium, the server will send the script to your app wrapped into an anonymous function to be executed.

Q14.Mention what are the most difficult scenarios to test with Appium?

Ans:

The most difficult scenario to test with Appium is data exchange.

Q15.While using Appium can I run my tests in a multithreaded environment?

Ans:

  • Yes, you can run the test in a multithreaded environment but you have to ensure that no more than one test runs at the same time against the same Appium server.

Q16.In Android, do you need an app’s .apk to automate using Appium or you also need app in my workspace?

Ans:

In Android, you only need .apk file to automate using Appium.

Q17.Explain what is Appium package master? How to create package?

Ans:

  • Appium package master is a set of tools manage and create appium packages.
  • For example to create package you can use the code

Q18.Explain how test frameworks are supported by Appium?

Ans:

  • Appium does not support test framework as such there is no need to support them.
  • Appium can be used with any frameworks you want.
  • Testing: CheckList, Tools (Andriod & iOS).

Q19.What Is Mobile Application Testing And How Is It Different From Mobile Testing?

Ans:

  • Mobile Application Testing (MAT) is the testing of an application on mobile devices and it is different from Mobile Testing (MT) in the term that, in MT we focus on the native application features of Mobile devices like Call, SMS, Media Player, etc.
  • Meanwhile, in MAT we focus only on the functionality & features of the application under Test. 

Q20.Explain The Difference Between Simulator And Emulator?

Ans:

  • 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.

    Subscribe For Free Demo

    Q21.List out the types of mobile app testing.

    Ans:

    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

    Q22.Explain the general structure of mobile application testing frameworks?

    Ans:

    Mobile application testing framework includes three segments:

    • Application Package: It is the target application that requires to be tested.
    • Instrumentation TestRunner: It is a test case runner that runs test cases on the target application. It includes an SDK tool for building test and a tool that provides APIs for writing a program that controls an Android device, for example, MonkeyRunner.

    Q23. Full form of various application extensions.

    Ans:

    • IPA: iOS APP Store Package
    • APK: Android Application Package file
    • exe: Executable File
    • jad: Java Application Descriptor
    • prc: Palm Resource Compiler

    Q24. Mention the Different Types of Mobile Applications.

    Ans:

    • Mobile applications can be broadly categorized into three categories i.e, Native app, Web app and Hybrid App.
    • Native App: Native app is developed specifically for one platform, which is coded with a specific programming language (like Objective C for iOS, Java for Android) and installed directly onto the device and can take full advantage of all the device features.
    • Native apps can use the device’s notification system and can work offline.
    • Native apps are installed through an application store (such as Google Play or Apple’s App Store).
    • Native mobile apps provide fast performance and a high degree of reliability.
    • Example of native apps: Temple Run, Candy Crush, etc.

    Q25. What is the Appium philosophy?

    Ans:

    • These are the four philosophies Appium is based around-
    • Test the same app you submit to the marketplace
    • Write your tests in any language, using any framework
    • Use a standard automation specification and API
    • Build a large and thriving open-source community effort

    Q26. What Is Appium’s Strongest Point in your opinion?

    Ans:

    • Appium is based on Selenium which is an HTTP protocol by Google designed to automate browsers.
    • The idea is actually very nice as automating an app (especially a webview-based one) is not so different (in terms of required APIs) from automating a browser.
    • Appium is also designed to encourage a 2-tier architecture: a machine runs the test written in one language (C#, Ruby, JavaScript are only a few among the many supported ones) and another one (the test server) actually executes it.
    • Furthermore the WebDriver protocol targets scalability (because based on HTTP), this makes Appium very scalable as well; remember that you will need to write your test once, Appium will be in charge of executing it on more platforms.

    Q27. List Out The Appium Abilities.

    Ans:

    Appium abilities are:

    • 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 a physical device as well as simulator or emulator both
    • It has no dependency on a mobile device

    Q28. Can you comment about the performance of Appium?

    Ans:

    • Appium is not a huge application and requires very little memory.
    • Its architecture is actually pretty simple and light as Appium acts like a proxy between your test machine and each platform automation toolkit.
    • Once up and running, Appium will listen to HTTP requests from your tests.
    • When a new session is created, a component in Appium’s Node.js code called _proxy_ will forward these Selenium commands to active platform drivers.

    Q29. What Type Of Tests Are Suitable For Appium?

    Ans:

    • When it comes to testing, especially webview-based apps, there are a lot of scenarios that can be tested also depending on the feature coverage you want to ensure.
    • Appium is pretty handy for testing scenarios that users will go through when using your app.
    • But, if you need to test more than UX simple interactions, then Appium will become a limitation.
    • Think about features like keyboarding. It is not so easy when complex touch/keyboard mixed scenarios are involved, the probability of a false failure is high; do not misunderstand me on this: I am not saying it is impossible to do, just not so easy as you might think.

    Q30. List some issues Faced With Cross-Platform Testing?

    Ans:

    • Generally, the issue depends upon the different OS/device version.
    • It might be that the same application is working on one OS while it might not work on another version.
    • For example, we faced an issue that our application was working fine on iOS 6.x version devices but on tapping a few modules on iOS 5.x devices application crashes and the same happened with 2.3.5 Vs.

    Q31. Explain The Design Concept Of Appium.

    Ans:

    • 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 set up on a machine that exposes a REST API.

    Q32. I Already Have Platform-specific Tests For My App, What Should I Do To Migrate To Appium?

    Ans:

    • Unfortunately, there is no magic formula to translate your tests into Selenium tests.
    • If you developed a test framework on different layers and observed good programming principles, you should be able to act on some components in your tests in order to migrate your suites to Appium.

    Q33. When Performing End To End Mobile Testing What Major Criteria Are Taken Into Consideration?

    Ans:

    • Major areas are Installation of the application.
    • First time launching an application without having   network access. Uninstallation of the app.
    • The orientation of the app if it is supported.Testing application performance on different kinds of devices and network scenarios.that period so that the sensitive information should always go in an encrypted form.

    Q34. How Do You Test Patches Intended For An App Already In Production?

    Ans:

    • We generally do regression testing of a relative module and mainly focus on the area which is related to the bug fixes as per the developer.
    • This is because we cannot perform complete regression testing in a very short span of time.
    • So, we just perform sanity tests on the rest of the application, but only for high priority devices.
    • High priority devices are systems that are running the latest versions of the operating system. 

    Q35. What Kind of Testing Would You Perform For a General Application?

    Ans:

    • The very first test we have to perform is installation. After that, we check the basic functionality and following which, we check the connectivity of the application with its peripherals.
    • Then we uninstall the build and verify how the application responds when we interrupt it during installation.
    • We also check interruption scenarios when our application requests a network call.

    Q36. How Much Time Does It Take To Write A Test In Appium?

    Ans:

    • Of course, it depends on the test. If your test simply runs a scenario, it will take as many commands as the number of interactions needed to be performed (thus very few lines).
    • If you are trying to exchange data, then your test will take more time for sure and the test will also become difficult to read.
    Course Curriculum

    Enroll in Instructor-led Appium Course to UPGRADE Your Skills

    Weekday / Weekend BatchesSee Batch Details

    Q37. What Test Frameworks Are Supported By Appium?

    Ans:

    • Appium does not support test frameworks because there is no need to support them.
    • You can use Appium with all sorts of testing frameworks. NUnit and .NET Unit Test Framework are just a few examples.
    • You will write your tests using one of the drivers for Appium, thus your tests will interface with Appium just in terms of an external dependency. 

    Q38. What Is Data Exchange?

    Ans:

    • When I say “data exchange” I am not referring to scenarios like getting or setting the value of a textbox or an elements attribute.
    • All these things are easy to achieve in Appium as Selenium provides commands just for those. By “data exchange” I mean exchanging information hosted by complex objects stored in different parts of your webview-based app like the window object.

    Q39. Consider A Scenario Where You Don’t Want To Setup A Whole Infrastructure, Ans:And Neither Spend Money. Can Appium Help Out In Such A Scenario?

    • If you think about it, what really is required from is the test script.
    • The fact that you must deploy an Appium server somewhere is just an extra feature.
    • If you want to skip this part, you can rely on some web services that have already deployed a whole architecture of Appium servers for your tests.
    • Most of them are online labs and they support Selenium and Appium. In this way, you don’t spend exorbitant amounts of money and you also don’t invest time and effort on new infrastructure. 

    Q40. Is Debugging Appium Difficult?

    Ans:

    • No. Appium is a Node.js application, therefore, in essence, it is Javascript.
    • The code is available on GitHub and can be downloaded in a few seconds as it is small and not so complex.
    • Depending on what you have to debug, you will probably need to go deeper in your debugging experience.
    • However, there are some key points were setting a breakpoint is always worth it, for example, the proxy component is worth a mention.
    • In appium/lib/server/proxy.js you can set a breakpoint in function doProxy(req, res), that will be hit every time commands are sent to platform-specific components to be translated into automation commands.

    Q41. Mention The Basic Requirement For Writing Appium Tests.

    Ans:

    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.

    Q42. What Are The Risks Associated In Automation Testing?.

    Ans:

    • If UI is not fixed, do not think about automation: Prior to automating the user interface, it should be strongly be determined that, whether the UI is changing extensively or the cost of the automated script maintenance is high or not.
    • Stop automating the tests which run once: Ensure that certain test cases might be running once and not included in the regression testing. Avoid automating such test modules.

    Q43.How Can I Run Android Tests Without Appium?

    Ans:

    • For older versions of Android, Appium might not be supported.
    • For instance, Appium is only supported for Android versions 4.4 or later for Mobile Web Application tests, Android versions 2.3, 4.0 and later for Mobile Native Application and Mobile Hybrid Application tests.

    Q44. How Can I Run iOS Tests Without Appium?

    Ans:

    • 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.

    Q45. Can You Explain The Filters That You  Create While Checking Logs?

    Ans:

    • Filters help you in finding relevant information about your application and you can create a filter based on the application package name like com.abc.com.
    • You can save this filter by any name. When you click on this filter, you will see only those logs which are from your application.
    • You can create a filter based on log tag which is related to a  particular line of code, for example, if you have placed system.out to print the output then you can create a filter by a tag System.out.
    • Then it will shortlist all the print output in the code. You can create a filter by Choreographer which helps in finding the skipped frames if you want to see them. You can create filters corresponding to your PID and log message.

    Q46.List Out The Most Common Problem That A Tester Faces While Performing Mobile Testing In Cloud Computing?

    Ans:

    Challenges that a tester faces while performing mobile testing are:

    • Subscription model
    • High Costing
    • Lock-in
    • Internet connectivity issues
    • Immense consumption of time in image-based automation testing.
    • Automation is restricted by the framework.

    Q47. What Would You Prefer To Test Your Application On – Real Devices Or Use Simulators/Emulators?

    Ans:

    • It’s one of the most commonly asked Appium interview questions.
    • You’ve to be a little logical and practical while answering it.
    • Don’t just simply answer “It would depend on what you need”because it would be a layman answer which interviewer won’t expect from you.
    • Rather you should explain it by an example. You can answer by saying that it’s always best to test on real devices.
    • As it would allow you to catch errors that you may not detect otherwise, but, you have to configure the device smartly with the Appium server so that it can detect the device.
    • Sometimes the ADB(Android Debug Bridge) may disconnect from the device even if it remains plugged in, and it can cause your tests to fail.
    • To handle such issues, you can write a module which resets the ADB after some time to re-connect to the devices.

    Q48. What Is Appium Inspector And Why Is It Used?

    Ans:

    • 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.

    Q49. What Are The Probable Errors You Might Come Across While Working With Appium?

    Ans:

    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.

    Q50.What Are The Problems Faced While Running A Test In A Multithreaded Environment?

    Ans:

    • You need special care while using Appium in a multithreaded environment.
      • The problem does not rely on the fact of using threads in your tests.
      • You can use them but, you must ensure that no more than one test runs at the same time against the same Appium server.
      • Appium does not support multiple sessions, and unless you have implemented an additional layer on top of it to handle this case, multiple tests might fail.

    Q51. List The Selenium Commands That Work With Appium.

    Ans:

    • There are a number of Selenium commands that work with Appium tool.
    • 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

    Q52. List OneThing Which You Cannot Do With Emulators But You Can Do With A Real Device.

    Ans:

    • 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.

    Q53. Which Tools Are For Performance Testing And Automation?

    Ans:

    • For performance testing of web services, you can use JMeter.
    • It is an open source tool which can be used to test the API’s performances.
    • For automation, there are several paid tools available in the market like SeeTest, Ranorex, Silk Mobile etc while free automation tools are Calabash, Appium, Robotium for Android, KIF for iOS.

    Q54. What Are The Tools Used In Debugging?

    Ans:

    • We generally use logs to see the cause of the issue, where the failure is occurring. So for iOS – iPhone configuration utility & for Android Monitor.bat, etc can be used.
    • If you provide logs from these tools to the developer, they can easily understand the cause of the issue.

    Q55. Appium Interview Questions – EdurekaQuestion 45: When To Choose Automation Testing And When To Choose Manual Testing?

    Ans:

    • If the application has new functionality
    • If the application requires testing once or twice
    • Automate Testing
    Course Curriculum

    Get Appium Training with Advanced Topics From Real-Time Experts

    • Instructor-led Sessions
    • Real-life Case Studies
    • Assignments
    Explore Curriculum

    Q56. Mention Few Disadvantages of Automation Testing.

    Ans:

    • Designing the tools and tests to run software takes a lot of manual, human effort, though there are frameworks and tests ready-made for engineers to use.
    • Even with automated testing, human error is still a factor – tools can be buggy, inefficient, costly, and sometimes even technologically limited in what kinds of tests they can run on their own.

    Q57. What Are The Pre-requisites To Start Automation Testing?

    Ans:

    • The first step is to segregate the different test cases that are to be automated.
    • Following this, you must prepare test data as per the needs of the test cases.
    • Reusable functions need to be written which are frequently used in those test cases.
    • Later test scripts are prepared by using reusable functions and applying loops and conditions wherever necessary.

    Q58. What Are The Differences Between Open Source Tools, Vendor Tools, And In-house Tools?

    Ans:

    • Open source tools are free to use frameworks and applications.
    • Engineers build the tool and have the source code available for free on the internet for other engineers to use.
    • Vendor tools are developed by companies that come with licenses to use, and often cost money.
    • Since they are developed by an outside source, technical support is often available for use.
    • Example vendor tools include WinRunner, SilkTest, Rational Robot, QA Director, QTP, LR, QC, RFT, and RPT.

    Q59. Is Automation Testing A Complete Replacement For Manual Software Testing?

    Ans:

    • No. Proper automation requires as little intervention from humans as possible since the tools used are built to run tests once they are set up.
    • As convenient as this might be, it should not be a complete replacement for manual testing – only for repetitive tasks like load testing, where thousands of virtual users are required. 
    • Engineers should not automate things like test scripts if those scripts can only be expected to run occasionally, nor should they automate code reviews, or bug testing for new builds of software that might require human interaction to detect issues.
    • We can conclude by saying that large-scale, repetitive tasks are a better fit for automation.

    Q60. What Are The Points That Are Covered In The Planning Phase Of Automation?

    Ans:

    During the planning phase of automation, the points to be considered are as follows:

    • Selection of the “right” Automation tool
    • Selection of Automation Framework if required
    • List of in scope and out of scope items for automation
    • Test Environment Setup

    Q61. What is Appium and why do you need it?

    Ans:

    • 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.
    • 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.

     Q62. What’s that one point which made you choose Appium for mobile app testing?

    Ans:

    • It has a unique design which natively supports Selenium. And Selenium is one of the most used and evolving technology for automation testing.
      • It has an open support from the global browser vendors like Google, Mozilla, and Safari. Each one of them agreed to provide their Web drivers implementing the Selenium interfaces.
      • Next, it is cross-platform enabled, supports all popular programming languages, and webdriver makes its tests more scalable. You need to write tests once which you can run anywhere.

    Q63. How many types of apps do you know?

    Ans:

    • Mostly there are three kinds of apps in use.
    • Native apps are those which are built using the iOS/Android SDK.
    • Mobile web apps are the ones which are getting accessed via the mobile browsers.
    • Hybrid apps fall into the category which wraps around a <webview>. It’s a native control to enable interaction with the web elements.

    Q64. What are all the pre-requisites for setting up Appium?

    Ans:

    You can track all the prereqs from the below list.

    • Android SDK,
    • Eclipse SDK,
    • Compatible JDK version,
    • Selenium Standalone Server Jar,
    • Required Web driver library,
    • TestNG,
    • Appium for Windows or any other platform you are using,
    • APK App info on Google play,
    • JavaScript.

    Q65. Why should you use Appium? List down some of its advantages.

    Ans:

    Appium tool has many benefits, some of them are as follows.

    • It’s a multi mobile platform enabler for testing applications.
    • It makes you choose the programming language which comforts you most.
    • It’s free, open source and supported by a large developer community.
    • It supports Selenium and JSON wire protocol to enable effective testing.
    • It doesn’t require you to make modifications to your app.
    • You can start scaling the tests as you go.
    • It doesn’t have any dependency on the mobile devices.
    • It enables testing on physical devices as well as on the emulators as well.

    Q66. What are the known limitations of Appium?

    Ans:

    • Though it has more pros than cons which we’ve already given in the previous question.
    • But there are few things which are worth mentioning as Appium limitations.
    • 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. 

    Q67. What would you prefer to test on real devices or use simulators/emulators?

    Ans:

    • It’s one of the most commonly asked Appium interview questions.
    • You’ve to be little logical and practical while answering it.
    • Don’t just simply answer “It would depend on what you need.”.
    • Because it would be a layman answer which interview won’t expect from you.
    • Rather you should explain it by example.

    Q68. How do the tests run on simulators/emulators?

    Ans:

    • The limitation of disconnecting from the devices would never occur with the emulators.
    • They will remain attached to the ADB. You may even set orientation and other hardware-based features that it can emulate.
    • Running entirely in a virtual world wouldn’t come without some limitations.
    • Your tests would run slow as the emulators consume a lot of memory.
    • Even they might behave intermittently during the execution.

    Q69. What are the key design concepts behind Appium?

    Ans:

    • It’s the <Node.js> server that powers Appium to support cross-platform  device testing.
    • And it uses the Webdriver’s JSON wire protocol to run iOS and Android sessions.
    • Once you have the Appium downloaded and installed, it runs an HTTP server which exposes services via REST APIs.
    • This server is responsible for processing the commands from the client and executing them on the target platform.
    • It returns the response in HTTP format which the system handles in an appropriate manner.
    • It utilizes Apple’s <Instruments> for iOS to control the user interface of the target apps.
    • For Android devices, it uses Google’s <UIAutomator> to access API level 16 or higher.
    • There is <Selendroid> to enable access to level 15 or less.

    Q70. Which are the test frameworks that Appium supports?

    Ans:

    • Appium doesn’t have built-in or default support for any test frameworks.
    • You can use it with many testing tools like Selenium Webdriver.
    • There are some unit test frameworks like <NUnit> and <.Net> which you can use with Appium.
    • Appium provides a driver module that’s what you need for writing test cases.

    Q71. What are the essentials for writing the Appium tests?

    Ans:

    There few things that you need before starting to write test cases in Appium.

    • Driver – It provides a set of APIs to write your Appium tests. It then sends the commands to HTTP server for processing.
    • Session – All Appium tests needs a session for execution. So, first of all, you have to create it. Close it after the automation ends.
    • Capabilities – Like you have to set Chrome driver path to start executing tests in a Chrome browser. Similarly, here you need to define params like PlatformName, PlatformVersion, DeviceName and so on.
    • Commands – These are action words which you use in test steps while you write test cases. Appium has a rich set of commands. Read their syntax and purpose from its online documentation.

    Q72. How would you retrieve a DOM element or the XPath in a mobile app?

    Ans:

    Just like the <FirePath> does in Firefox for Selenium, here you have the <UIAutomateviewer> to locate any element for Android app.

    Q73. What are the probable errors you might see while working with Appium?

    Ans:

    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.

    Q74. What’s the alternative way to interact with mobile apps while using Appium?

    Ans:

    • You can use JavaScript to interface with the mobile apps.
    • You can employ the Appium commands to send the script to your app.
    • Just wrap it in a static function and execute.
    Appium Sample Resumes! Download & Edit, Get Noticed by Top Employers! Download

    Q75. Can you run multithreaded tests in Appium?

    Ans:

    • Yes, you 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.

    Q76. Does it require an <.apk> file for automating tests in Appium?

    Ans:

    Yes, you need the <.apk> package to automate using Appium.

    Q77. How to debug failures in Appium test automation?

    Ans:

    • You have to download the Appium source from GitHub to enable debugging.
    • And then you need to set up a proxy component to add break points.

    Q78. Which are the Selenium commands to use with Appium?

    Ans:

    There are a no. of Selenium commands to operate with Appium tool.

    • 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.

    Q79. Does it require a server node to execute Appium tests?

    Ans:

    No, you don’t need a server node to run tests on Appium. It comprises of a 2-tier architecture where a test node connects to a server running Appium and carries out automation. So, you can have Appium tests running on the same node where your test runs.

    • Skip to primary navigation
    • Skip to main content
    • Skip to primary sidebar
    • SOFTWARETESTINGO – JIRA SELENIUM PROTRACTOR TESTING SDLC AGILE METHODOLOGY

    Q80.Which language is used to write tests in Appium?

    Ans:

    • We can write our Appium tests in any language because Appium is nothing more than an HttpServer.
    • The most common languages and development frameworks are C#.net, Java, Ruby, Python, and Javascript.

    Q81.What are the pre-requisites to use Appium?

    Ans:

    Below is the list of pre-requisites to start mobile automation:

    • Android SDK
    • Eclipse IDE
    • Java Development Kit(JDK)
    • Selenium Server Jars
    • WebDriver language binding library
    • TestNG
    • Appium for Windows
    • APK app info on google play
    • JavaScript

    Q82.What underlying API does Appium follow?

    Ans:

    Appium uses underlying selenium API to automate Test Cases, i.e., Appium is an extension to selenium because all the Selenium API are present in Appium also.

    Q83.What are the Desired Capabilities?

    Ans:

    Desired capabilities are a set of keys and values (i.e., a map or hash) sent by the client to the server to tell the server what kind of automation session we are interested in.

    Q84.How would you inspect elements of the Native Android App?

    Ans:

    Using the UIAutomator tool in Android SDK, we can able to get access to the object locators of the Android Native Apps.

    Q85.How will you scroll down in App?

    Ans:

    • By using the scrollTo() method, we can scroll down in App.
    • This method will scroll automatically until the specific text is not matching.

    Q86.Can you start Appium Server programmatically?

    Ans:

    • Yes, we can start the Appium Server programmatically.
    • The commands we are entering to the command prompt we write in a notepad and save with .bat extension and click bat file.

    Q87.How would you inspect elements on iOS Apps?

    Ans:

    By using Appium Inspector, which is a GUI based tool similar to Selenium IDE, we can identify the objects.

    Q88.How would you identify Mobile Browser objects?

    Ans:

    • By using UserAgent, we can identify objects in a Mobile Browser.
    • We use UserAgent and change your browser as the mobile proxy and get a purpose. 
    • By using ChromeCasting, we can identify objects in a Mobile Browser.
    • We use ChromeCasting and connect your mobile to the system and inspect objects on mobile from the system using chrome casting.

    Q89.How would you identify the object uniquely when there are multiple objects with the same class name using appium

    Ans:

    • By using driver.findElements(By.className) and take the list and get through the index.
    • Using the list mechanism and findElements method, we will be traversing through the indexes and handle the object uniquely with the class name.

    Q90.What are the Limitations of Appium?

    Ans:

    • Appium doesn’t support testing of an Andriod version which is lower than 4.2.
    • It has no support to run appium inspector on Microsoft Windows.
    • It has limited support for Hybrid App testing.

    Q91.What is the difference between Emulator and Simulator?

    Ans:

    The emulator is used to call Android virtual devices where we use in our PC on a windows machine, and Simulator is used to call for iOS virtual devices, which will launch from Xcode in MAC.

    Q92.How do you detect the device got connected to the PC?

    Ans:

    By using the command ADB devices, we can get the information whether there are any objects or devices detected by the PC.

    Q93.Will Appium work for Mobile Browser Automation?

    Ans:

    Yes, we can use Appium to work on Mobile Browsers also.

    Q94.What are Native Apps?

    Ans:

    Native Apps or Applications are those written by using the Android or iOS SDK’s

    Q95.What are Mobile Web Apps?

    Ans:

    Mobile Web Applications are those which are accessed using a Mobile Browser.

    Q96.What is the Appium Inspector?

    Ans:

    • Appium Inspector is similar to Selenium IDE.
    • It is a record and playback tool.
    • It records and plays native application behavior by inspection DOM(Documentation Object Model). By DOM Inspection, it generates the test scripts in any desired language.
    • Appium uses the UIAutomator viewer in its option as an appium does not support Windows.

    Are you looking training with Right Jobs?

    Contact Us
    Get Training Quote for Free