appium interview questions

As day by day, mobile technologies are evolving and the demands of mobile applications are undoubtedly continuously increasing. Jobs in mobile application development and testing are surprisingly increasing. However, to help mobile automation professionals we consolidated the top Appium interview questions with Answers. Refer below for following appium interview questions and their answers:

Appium Interview Questions and Answers:

#Q 1: What do you know about Appium?


Answer: Appium is an open-source mobile automation tool that is used to automate native, hybrid, mobile WebApp. Appium uses JSON Wire protocol to interact with devices. There are many other tools in the market for mobile automation like-Selendroid, calabash but these tools are not supporting both platforms.
We can test Android on Windows also but Appium supports the beta version so we may face issues on Windows. MAC, users will not face many issues because automation will go very smoothly.

#Q 2: What is the difference between mobile application testing and just mobile testing?


Answer: Mobile app testing supports the user in testing an application on hand-held devices and it mainly focuses on features and functionality of the tested application whereas in mobile testing user mainly focuses on mobile devices’ native application features like SMS, Call, Media Player, etc. are working as per expectation or not.

#Q 3: What is the difference between Selenium and Appium?


Answer: Selenium is an open-source tool that allows the user for the automation of Web Applications.
Appium is also an open-source tool that is used to test the web applications which run on mobile browsers and Desktops.

Appium vs Selenium

Top 50+ Automation testing Interview Questions list (Selenium, BDD, TestNG, DB, API, and Manual testing Interview Questions)

#Q 4: What are the steps to configure and run Mobile Automation Test cases using Appium?


Answer:
To configure Mobile Application Automation set up we need to do the following task:

  • Install Java and set up Environment Variable

    : Firstly, download Java and set Java_Home in environmental variables. (Particularly, if Java is not installed on your machine then refer to this link for step by step guide)
  • Install Android Studio

    : Download Android Studio.
  • Now, check the Android installation path.
  • Set Android_Home Environmental variables path to SDK location and also include bin folder paths in the PATH variable
  • Now, Open Android Studio and configure Virtual device/Emulator
  • Open Emulator and check if it is working
  • Install Node.JS: Download Node.js and install Node.Js on your machine.
  • Node_Home Environmental variables path should be set
  • NPM Environmental variables path should also be set. (If NPM is not installed then refer to this link for NPM installation)
  • Now, Download Appium Server from Node
  • Now, Download Appium Java client library
  • Install Eclipse and Create a Project in Eclipse and configure Appium libraries
  • Now start the Appium Server. It should run by default port 4723.

#Q 5: what is the basic requirement for writing Appium Tests?

Answer: For writing, Appium tests user should require the below-mentioned things:

  • Driver Client

    : Appium Driver client binds WebDriver features with specific languages like Java, Python, Javascript, Ruby, etc. Using a client library users write the Appium tests which wrap the test steps and sends them to the Appium server over HTTP.
  • Appium Session

    : Appium Session created at beginning of the test. As per user input (mentioned in desired capabilities) session created, test performed, and once after test completion session terminated
  • Desired Capabilities

    : To initialize an Appium session users need to pass certain parameters in the form of desired capabilities. “desired capabilities”, PlatformName, PlatformVersion, Device Name, and so on.
  • Driver Commands

    : Driver commands are the methods provided by Appium to perform different operations like set text, get text, click, verify, etc.

#Q 6: What are the things which the user cannot perform with Emulators but can perform with the real devices?


Answer
: Following are the things that the user can’t perform with an emulator but can perform with the real device are as follows:
• 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.


#Q 7: What is the command that is used to start and stop appium service?


Answer: Once the user is done with tests as ‘appiumservice.start()’ and ‘appiumservice.stop(),’ the user can start appium and stop the appium service.

// To start Appium service
private static AppiumDriverLocalService startService() {
service = AppiumDriverLocalService.buildDefaultService();
port = 4723;
if (!isServerRunning(port)) {
	service.start();
}
return service;
} 

// To stop Appium service
public static void closeService() throws IOException {
service.stop();
Runtime.getRuntime().exec("taskkill /F /IM node.exe");
}


Also with the help of ‘buildDefaultService(),’ users can easily start and stop Appium service.

#Q 8: What are the advantages of Appium?


Answer: Below is some of the advantages of Appium:

  • As Appium builds on JSONWireProtocol Appium easily supports many programming languages likewise-Java, Python, C#, Ruby.
  • Appium is an open-sourced tool so the organization needs not pay anything.
  • It supports both IOS as well as Android platforms
  • Appium can automate Mobile Web Browser, Hybrid Applications, and Native Applications
  • It supports multiple frameworks>It is a cross-platform automation tool>It supports Selenium and JSON wire protocol
  • Appium supports image comparison

#Q9: What are the disadvantages of Appium?


Answer: Some of the disadvantages of Appium are:

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

#Q 10: What is the default port number used for Appium Server?


Answer: Generally, the default port number used for Appium Server is 4723

#Q11: What are the basic requirements to write the Appium tests?


Answer: Basic requirements to start writing appium tests are:

  • We require a driver client to write Appium tests. It drives mobile applications as a user. Using the client library, we write Appium tests that wrap our test steps and send them to the appium server over HTTP.
  • We need to start a session firstly. Once the automation is done for one session, it can be ended and wait for other sessions.
  • We need to define certain parameters known as desired capabilities like platform name, platform version, device name, and so on to initialize an appium session.
  • However, by using a large and expressive vocabulary of driver commands, we can write our tests.

#Q 12: What test frameworks are supported by Appium?

Answer: Appium is the API that provides a large set of methods used to perform operations on mobile applications. Hence Appium can easily fit into any framework like Hybrid and Page Object Model.

#Q 13: What are the Desired Capabilities?

Answer: 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 needs to start. Basically, We are sending environment details to Appium to run the test cases in a particular device in a particular browser, platform version, platform name, app package that we are using. These things we need to inform appium before running the test cases. Afterwards, appium will indirectly communicate with the device.

#Q 14: What is the use of extension for Android files?
Answer: .apk(Android application package) is used for Android files.

#Q 15: What is the use of extension for IOS files?
Answer:use .ipa(IOS App Store Package) for IOS files.

#Q 16: How will we inspect elements using the Appium?
Answer: By using the uiautomatorviewer and Appium Inspector, we can inspect elements in Appium.

#Q 17: What is an Xcode in Appium?
Answer
: Xcode is an integrated development environment for OS X and IOS. The latest version of Xcode is 12 and it only works on MAC operating system.

#Q 18: Does Appium support Emulators in IOS?
Answer
: No, Appium doesn’t support Emulators in IOS instead it supports simulators.

#Q 19: What are the Prerequisites to start Automation Testing?
Answer
: Below is some pre-requisites for doing automation testing:
• Test cases for Automation should be identified>Test Cases overview and walkthrough should be provided by the functional Team>Automation Framework and test data strategy should be identified>Automation environment, DB, local admin rights, and server access provided to the automation team>Reusable methods should be written which are frequently used in those test cases>Later, test scripts should be prepared by using reusable functions and applying loops and conditions wherever necessary.

#Q 20. What is Appium Server?


Answer:
Appium is an HTTP server, not a tool that is written/build on Node.js platform which creates sessions using JSON protocol. Especially When Appium is running we need to download JSON protocol. In another case, Appium communicates with HTTP protocols to mobile from the client machines.

#Q 21. What are the steps to connect to the Real Device?


Answer
: Here are the steps to connect to real devices:

  1. Enable developer mode on your device.
  2. Use Original USB to connect the mobile device with Laptop
  3. Allow the USB debugging option to appear on the laptop.
  4. Need to install some applications on mobile to create communication.
  5. In setting need to change some options like build number, USB debugging to create communication. Check below:
    • Click on About Phone Option>Go to Version Information>Now you will find an option called ‘Build Number’>Keep clicking the Build number option seven times. It starts showing you information message as ‘You are now 2 steps away from being a developer>and again ‘You are now 1 step away from being a developer>And After clicking 7 times, finally it will show a message as ‘You are now a developer!’>Now you can see ‘Developer Options’ from where you can enable ‘USB debugging>Click on ‘Developer Options’, which will show you multiple options available>Check ‘USB debugging’ option, Once we check that option, it will display a warning>Click on OK to continue. Now we have successfully enabled USB debugging mode for Android devices.

Question 22. What is the Application Package?


Answer
: It is the target application that requires to be tested.

Question 23. What is the Test Plan For Mobile App?


Answer
: The test plan for mobile applications is similar to any other Software.

  • Objective of Testing
  • Automation tools required
  • Scope: Required features to test: Network, Security, Performance, Battery, Size, and Memory.
  • Not in Scope: Features not to test: Display size, Resolution
  • Test cases writing, execution, test report, and bug life cycle
  • Test Strategy: Test Strategy is important to document which define what kind of testing need to do.
  • Resource Planning: To execute testing activities, identify resources, document them, and provide sufficient training.
  • Testing estimation: Define a timeline for each testing activity.
  • In addition, no. of resources required

#Q 24: What is Appium Inspector?


Answer:
Because Appium Inspector is the tool provided by Appium Desktop, this tool is beneficial for the purpose of identifying elements (locator) of your application on Mobile Devices. Unfortunately, Appium Inspector is not available on the Windows Platform.

#Q 25: Is Selenium Webdriver necessary for Appium?


Answer:
Yes, Selenium Webdriver is required to perform actions on elements.

Hope the above interview questions help you in the mobile automation interview. If you have any queries/doubts in effect of these interview question then feel free to write us at query@thoughtcoders.com, we will discuss in detail.

Summing up, this article is by Soumya Sinha. She is working as a mobile automation engineer with one reputed flooding IT Company. She is a mobile automation enthusiast.

Comments

Max August 23, 2020

This blog very help for me, Thanks So Moch

Thought Coders July 14, 2021

Thanks Max for your feeedback! It will work as motivation for us to contribute more.

Gemma August 16, 2023

I love it when individuals get together and share opinions.
Great website, keep it up!

Write A Comment