Top
APPIUM Testing Interview Questions & Answers
Question: What
Is Appium And Why Do You Need It?
Answer:
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?
Answer:
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?
Answer:
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.
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?
Answer:
Mostly there are three kinds of apps in use.
- Native apps
- Mobile web apps
- Hybrid apps
Question: What are native Apps?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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.
Answer:
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?
Answer:
- 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?
Answer:
- 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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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?
Answer:
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.