• info@helpingtesters.com
  • helpingtesters

Popular 50+ Appium Interview Questions

September 12, 2017 Appium Tutorial
Appium Interview Questions, Appium Interview Questions pdf, Appium Interview Questions and answers

1. What is Appium? (Important: Appium Interview Questions)
Appium is an open source,cross-platform test automation tool used for native,hybrid and mobile web apps,which can test on simulators(iOS,FirefoxOS), emulators(Android), and real devices(iOS,Android,FirefoxOS). 

2. Why Appium?

  • Appium is a free open-source test automation framework for mobile testing.
  • Using Appium we can automate Android Applications as well as iOS Applications i.e it is a “Cross-Platform” automation tool
  • It is an extension to selenium(If the people who already have knowledge on selenium can quickly get the things on Appium and start working).
  • Appium supports multiple platforms, i.e, Android, iOS, FirefoxOS
  • Appium supports multiple languages with Selenium Webdriver API, i.e, Java, PHP, Python, Ruby, C# etc…
  • We can use any testing framework.
  • If we use Apple’s UIAutomation library without Appium we can only write tests using JavaScript and we can only run tests through the Instruments application.Similarly, with Google’s UIAutomator we can only write tests in Java.Appium opens up the possibility of true cross-platform native mobile automation.

3. Which language is used to write tests in Appium?
We can write our Appium tests in any language because Appium is nothing more than an HttpServer. Most common languages and development frameworks are C#.net, Java, Ruby, Python and Javascript.

4. What are the pre-requisites to use Appium? (Important: Appium Interview Questions)

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
  • Java Script

5. What underlying API does Appium follow?

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

6. What are Desired Capabilities?

Desired capabilities are basically 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.

7. How would you inspect elements of Native Android App?

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

8. How will you scroll down in App?

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

9. Can you start Appium Server programmatically?

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

Runtime.getRuntime().exec(“cmd /c start C:\\appiumstart.bat”);

10. How would you inspect elements on iOS Apps?

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

11. How would you identify Mobile Browser objects? (Important: Appium Interview Questions)
Ans: By using UserAgent we can identify objects in Mobile Browser. We use UserAgent and change our browser as the mobile proxy and get an object.

(or)

By using ChromeCasting we can identify objects in Mobile Browser. We use ChromeCasting and connect our mobile to the system and inspect objects on mobile from the system using ChromeCasting.

12. How would you identify object uniquely when there are multiple objects with same class name using appium
By using driver.findElements(By.className) and take the list and get through the index.Using list mechanism and findElements method we will be traversing through the indexes and handle the object uniquely with the class name.

13. What are the Limitations of Appium? (Important: Appium Interview Questions)

  • Appium doesn’t support testing of 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

14. What is the difference between Emulator and Simulator?
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.

15. How do you detect the device got connected to the PC?
By using the command ADB devices we can get the information whether there are any objects or devices detected by the PC.

16. Will Appium work for Mobile Browser Automation?
Yes, we can use Appium to work on Mobile Browsers also.

17. What are Native Apps?
Native Apps or Applications are those written by using the Android or iOS SDK’s

18. What are Mobile Web Apps?
Mobile Web Applications are those which are accessed using a Mobile browser.

19. What test frameworks are supported by Appium?

Appium does not support test frameworks because there is no need to support, we can use appium with all test frameworks which ever we want like NUnit etc…

20. What are the basic requirements to write Appium tests?

  • We require driver client to write Appium tests.It drives mobile applications as a user.Using client library we write Appium tests which wrap our test steps and sends to appium server over HTTP.
  • We need to initialize a session firstly as such appium takes place in the session.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 in order to initialize an appium session.
  • By using a large and expressive vocabulary of driver commands we can write our tests.

21. What are Hybrid Apps?
Hybrid Apps are those which have a wrapper around a webview and a native control which interacts with web content.

22. What is the difference between Hybrid Apps and Native Apps?
Hybrid apps are web based apps that work well on the mobile browser, where as Native apps are written for particular OS i.e, Android, iOS, etc…

23. What is Appium Inspector?
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 UIAutomator viewer in its option as appium does not support Windows.

24. Does Appium support Emulators in iOS?
No, Appium doesn’t support Emulators in iOS.

25. Explain the design of Appium? (Important: Appium Interview Questions)

Appium is an HTTP server which is written by using node js platform and drivers.It drives Android and iOS session by using webdriver JSON wire protocol. A server is a setup on our machine which exposes REST API when appium is downloaded and installed.Appium receives command and connection request from the client and executes those commands on mobile devices.

Mobile test automation frameworks are apple instruments for iOS, Google UIAutomator for Android API and Selendroid for Android API level 15 or less.

26. Can Appium run on windows to test iOS app?

No, Appium will not be able to test iOS apps on the windows server which is hosted locally, because appium relies on OS X-only libraries to support iOS testing.

27. What kind of platforms supported by Appium? (Important: Appium Interview Questions)

Appium supports below platforms:

  • Android
  • Firefox mobile OS
  • iOS

28. Which kind of applications can we automate using Appium?

We can automate below applications using Appium

  • Mobile Web Browser
  • Hybrid Applications
  • Native Applications

29. What is the default port number used for Appium Server?

4723 is the default port number used for Appium Server.

30. To perform app automation can we use JavaScript in Appium?

Yes, we can use JavaScript to automate applications using Appium.Whatever the language that supports HTTP request can be used with Appium.

31. Name the list of Appium Client Libraries?

Ruby, Java, Python, PHP, and C# are the appium client libraries which are used for extension WebDriver protocol.

32. Do you need an app’s .apk in Android to automate using Appium or you also need the app in your workspace?

We need only .apk file in order to automate using Appium in Android.

33. Can we run our tests in a multithreaded environment while using Appium?

Yes, we can run our test in a multithreaded environment while using appium, but we have to make sure that not to run more than one test at the same time against the same Appium server.

34. How we find DOM element in a mobile application?

By using “UIAutomateviewer” we can able to find DOM element in a mobile application.

35. Does Appium have the same approach as WebDriver?
Yes, Appium has the same approach as WebDriver.

36. What are the advantages of Appium? (Important: Appium Interview Questions)

  • Appium supports multiple programming languages
  • It is an open source tool
  • It supports iOS and Android platforms, it drives iOS and Android Apps using WebDriver protocol.
  • 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

37. What are the disadvantages of Appium?

  • Appium does not support testing of Android versions lower than 4.1
  • Doesn’t support Image Comparison

38. Does a server node is required to execute Appium tests?

No, we don’t need a server node to execute appium tests.

39. What are the basic selenium commands to use with appium?

  • Managing Alert boxes
  • Elements locate commands by using class name, ID
  • Text commands like type(). Syntax: wdBacked.type(locator,value);

40. The difference between Find Element and Find Elements method in selenium? (Important: Appium Interview Questions)

  • Find Element means to Capture Single WebElement
  • Find Elements means to Capture Multiple WebElements from the List of Webelement

41. What is the command used to start and stop appium service?

Once we are done with tests as ‘appiumservice.start()’ and ‘appiumservice.stop()’ we can start appium and stop the appium service. With the help of ‘buildDefaultService()’ we can easily start and stop appium service.

42. What are the steps to configure and run Mobile Automation Testcases using Appium? (Important: Appium Interview Questions)

  • Download Java and set Java_Home in environmental variables.
  • Download Android Studio.
  • Check Android installation path in machine
  • Set Android_Home Environmental variables path to SDK location and include bin folder paths in PATH variable
  • Open Android Studio and configure Virtual device/Emulator
  • Open Emulator and check whether it is working
  • Download Node.js
  • Set Node_Home Environmental variables path
  • Set npm Environmental variables path
  • Download Appium Server from Node
  • Download Appium Java client library
  • Install Eclipse and Create a Project in Eclipse and configure Appium libraries
  • Start Appium Server

43. Difference between Selenium and Appium? (Important: Appium Interview Questions)

Selenium is an open source tool which allows automation of the elements of Web Applications as well as Mobile Applications, where as Appium is also an open source tool to test the web applications which runs on mobile browsers.

44. How will we run parallel iOS tests in Appium? (Important: Appium Interview Questions)

By using Sauce Labs we can run iOS tests parallel, we just need to upload our Appium test to sauce labs and it will run as many iOS tests parallel.

45. What are the advantages of using Appium over Sauce Labs?

  • You don’t have to install/configure the mobile emulators/simulators in your local environment.
  • Modifications to the source code of the application are not required.
  • You can start scaling your tests instantly.
  • Setup time for Appium server locally is reduced.

46. Can we able to test iOS applications on Linux machine using Appium?

No, we won’t be able to test iOS applications on Linux machines by using Appium.

47. What is a Xcode in Appium?

Xcode is an integrated development environment for OS X and iOS.

48. Does Appium supports ‘C’ language?

No, Appium doesn’t support ‘C’ language.

49. What is POM and what is the basic use of POM?

POM is basically an XML file which is used for configuring the project in MAVEN.

50. How will we inspect elements using Appium?

By using UIAutomatorViewer and Appium Inspector, we can inspect elements in Appium.

51. What is the Full form of apk extension?

apk stands for Android Application Package File.

52. What tools can be used for debugging Android?

Android Monitor.bat tool is used for debugging Android.

53. How can we test screen sizes for different devices?

By using Emulators we can test different devices screen sizes.

54. What is the extension used for Android files?

.apk(Android application package) is used for Android files.

55. What is the extension used for iOS files?

.ipa(iOS App Store Package) is used for iOS files.

56. Which is the complex task to perform using Appium?

The data exchange part is the complex task to perform using Appium.

57. What are the possible errors you might encounter while using Appium?

  • Fail to start appium session
  • Nothing is happening when Clicking on Inspector icon

58. What tools can be used for debugging iOS?

iPhone Configuration Utility tool is used for debugging on iOS

About the author

Vaibhav Singhal author

Vaibhav is in software testing since a decade. Worked with different testing techniques along with exploratory testing. Performed different regression, performance, api etc testing with tools and libraries like selenium, jmeter, loadrunner, protractor, rest assured, Katalon Appium and others.

Leave a Reply

Your email address will not be published.