Appium Interview Questions and Answers

Orange TechnoMind 25-Feb-2021
orange technomind

To get high great manual and Automated testing training Orange TechnoMind would be the smart choice for you to choose and when it comes to software testing training in chennai, it is the proper place to be. It has a strong team of testing experts to take challenges and deliver excellent training. Thus Appium training in Chennai has become essential for those who want to pursue their career in software testing and make them fit well into the technical expertise criteria for the job.
 
1. What is Appium?
Appium is an freely distributed open source test automation framework for automating native, mobile web, and hybrid applications on iOS mobile, Android mobile, and Windows desktop platforms.
 
2.Name the 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
3. Name the Types of Mobile Applications?
Native apps – Application developed for a particular platform.
Hybrid apps – Applications that have both Native and Web components yet run as an application.
Web Application – Applications built to run on Browsers (For this situation, Mobile browsers).
 
4.What are the prerequisites to use Appium?
The pre-requisites that are used in Appium. They are listed below.
 
1. Eclipse IDE
2. Android SDK
3. TestNG
4. Web driver language binding library
5. JS
6. JDK
7. APK App Info on Google play
8. Selenium server jar
9. Appium for Windows
 
5.Why should you use Appium?
 
Appium tool has numerous advantages, some of them are as per the following.
  • It’s a multi mobile platform enabler for testing applications.
  • It causes you to choose the programing language which comforts you most.
  • It’s free, open source and supported by a large developer community.
  • It upholds Selenium and JSON wire protocol to enable effective testing.
  • It doesn’t expect you to make modifications to your application.
  • You can start scaling the tests as you go.
  • It doesn’t have any reliance on the mobile devices.
  • It empowers testing on physical devices just as on the emulators as well.
6.List out the Limitations of using Appium?
  • Appium doesn't uphold testing of Android Version lower than 4.2 
  • Limited support for hybrid app testing. E.g., impractical to test the switching action of application from the web application to native and the other way around 
  • No help to run Appium Inspector on Microsoft Windows and you need to utilize UIAutomatorViewer upheld by Android SDK 
7.What language does Appium support?
Appium uphold any language that support HTTP request like Java, JavaScript with Node.js, Python, Ruby, PHP, Perl, etc.
 
8.What are the Mandatory properties (key-value pairs) in Desired Capabilities?
deviceName – Identification ID for the mobile device associated.
platformName – Operating System for the Mobile device.
app – Path of the mobile application to be robotized. 
 
9.What are Locators in Appium and give some examples of Locators?
Elements of the Mobile Applications can be recognized by some properties. In spite of the fact that there are a few properties explicit to the application, there are some which are more standard in nature. These standard properties are in some cases called Locators.
Following are the examples of Locators:
  • ID
  • name
  • className
  • accesibilityID
  • XPath
 
10.What is the Appium Inspector?
Appium inspector is an out of the box utility provided by Appium Framework to load a Mobile application and locate any element of the Mobile Application.However, Appium Inspector does not uphold Windows and use UIAutomator viewer in its option.
 
11.Mention what are the most difficult scenarios to test with Appium?
The most troublesome scenario to test with Appium is data exchange.
 
12.List some common Exceptions in Appium?
SessionNotFoundException – Thrown when Appium Connection is detached or session not established.
ElementNotFoundException – Thrown when you attempt to find an Element and then the element is not Found.
WebDriverException – Thrown when the Driver isn't existent.
 
13.Is it possible to start an Appium server programmatically?
It is possible to start an appium server pro00.grammatically. By and large, the commands that are being entered to the command prompt are written in note pad and it's saved with .bat extension and you'll click the bat file. 
 
14.How can you inspect elements on the IOS apps?
With the assistance of utilizing an Appium inspector that is a GUI based tool you can distinguish elements on IOS apps. These GUI based tools are quite similar to that of selenium IDE.
 
15.How is it possible to identify Mobile browser objects?
You can utilize User Agent in order to recognize objects in the Mobile browser. It's done by using the user agent and afterward changing the browser as the mobile proxy and thus gets an object.
 
16.Give the difference between emulator and simulator?
The simulator is utilized for calling IOS virtual devices which will launch from Xcode in MAC. The emulator is utilized for calling Android virtual devices.
 
17.What test frameworks are supported by Appium?
Appium does not uphold test frameworks because there's no got to support them! You can utilize Appium with all test frameworks you need. NUNIT and.NET UNIT TEST FRAMEWORK are just a couple of examples; you'll write your tests utilizing one of the drivers for Appium; thus your tests will interface with Appium just in terms of an external dependency. Utilize whatever test framework you want!
 
18.Do I Need A Server Machine To Run Tests On Appium?
No.Appium promotes a 2-tier architecture where a test machine connects to a test server running Appium and automating the entire thing. However this configuration isn't mandatory, you'll have Appium running on an equivalent machine where your test runs. rather than connecting to a remote host, your test will connect with Appium using the loopback address.
 
19.Is it possible to run a parallel/multithreaded test in Appium?
It is possible to run tests on the multithreaded environment, but you have to make sure that no two tests are running simultaneously on the same Appium server.
 
20.Explain How To Find Dom Element Or Xpath In A Mobile Application?
To find the DOM element use “UIAutomateviewer” to find DOM element for Android application.
 
21.Explain The Design Concept Of Appium?
  • Appium is an “HTTP Server” written utilizing Node.js platform and drives iOS and Android session using Webdriver JSON wire protocol. Thus, prior to initializing the Appium Server, Node.js must be pre-installed on the system
  • At the point, 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
22.What Data Exchange Is?
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.
 
23.Enlist some appium commands?
Appium commands are functions that are sent to mobile devices and available for multiple languages. Here we have listed few appium commands that are called through Java Programming language.
  • Status: driver.getStatus();
  • Execute Mobile Command: driver.executeScript("mobile: scroll", ImmutableMap.of("direction", "down"));
  • Get device Orientation: driver.getOrientation();
  • Get the current geo location: driver.location();
  • Get Logs: driver.manage().logs().get("driver");
24.Name the tools you used in debugging Appium?
Logs are th most utilized  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 reason for the error can be effortlessly discovered. 
 
25.Explain about the Appium package master?
A set of tools that helps in management and creating Appium packages are known as the Appium package master.
 
26.How to create Appium package master?
# using es7/babe1
 
Gulp create-package –n
 
#regular es5
 
Gulp create-package ---nobabe1 –n
 
The package will be generated in the out/
 
26.Mention some common bugs that appear during mobile testing?
Common bugs that tend to seem during mobile testing are as per the following : 
 
Critical: Crashing of the entire mobile device while testing a specific feature within the device.
Block: Inability to try and do anything on the phone after testing unless the device is rebooted.
Major: Inability to perform a function of a specific feature.
Minor: GUI bugs fail during this sort of mobile testing.
 
27.How can you examine elements on the IOS apps?
With the help of utilizing an Appium inspector that's a GUI based device, you'll categorize fundamentals on IOS apps.
 
28.What Mobile Web Browsers Can I Automate In The Android Emulator?
Currently the only browser which will be automated in our Android emulators is that the stock browser (i.e Browser). The Android stock browser is an Android flavor of 'chromium' which apparently infers that its behavior is closer to that of Google Chrome.
 
29.How will you handle failure cases in Appium ?
It depends upon the scenarios. If any test cases get failed, we'd like to restore the app state so as to execute the  next test cases. You'll do it either in @AfterMethod or using listeners.
 
30.What are the different tools for debugging in Android and iPhone?
We verify the logs to debug the problems occur within the devices. For Android we will check Monitor, “adb logcat” or “dumpsys” . For the iPhone, we will use iPhone configuration utility.
 
31.What are the advantages of Real devices over emulator/Simulator?
There are a few of benefits using real devices over emulator/Simulator
  • We can check low battery scenarios with real devices.
  • How fast battery gets drained out during testing.
  • We can check the actual performance of the devices and do app profiling.
  • We can check Bluetooth related scenarios.
  • We can check messages and phone calls.
32.How can you verify elements in the Android Native Application?
You can use “UIAuteviewer/UIAutomateviewer2”, otherwise you can use Appium inspector for Android.
 
33.Difference between Selenium and Appium?
Selenium is an open-source tool. It helps to automate web application. Appium is also an open-source tool. It uses to automate mobile application( Native, Hybrid, Web-apps). Appium implements Selenium Webdriver to interact with the devices.
 
34.How much time does Appium take to automate a test?
It depends on the scenario you're testing. If you're verifying multiple flows during a single method, it's likely to require longer . But it's always better to form the test cases precise and easy in order that if any issue occurs in between your execution, you'll have the recovery mechanism.
 
35.Is it possible to start the Appium server programmatically?
Yes, we can start the Appium server programmatically. As Appium uses node.js, we can create .bat file(for Windows) or shell file/command(Linux/Mac) to start the Appium server passing bootstrap port, hub IP and port.

Contact Us

If you have a question, we have an answer. If you need something, we'll help you. Contact us anytime.

For enrollment related queries & support

+91 99 40 550 285

For technical issues & support

orangetechnomind@gmail.com