What We Are Learn On This Post
Appium Interview Questions
- The difference among mobile Native, Web, and Hybrid apps?
- Name the language that is used to write tests in Appium? What all frameworks are supported by Appium? Appium Limitation?
- Difference between Appium and Calabash? Prerequisites to use Appium? How do you set up Appium?
- Advantages and disadvantages of Appium?
- What is Appium inspector and how it works?
- How data exchange function between your test and the App? Explain the design of the Appium?
- How can you find the DOM element or X path in the case of a mobile application?
- Name the types of errors that you can face in Appium?
- What are the most difficult scenarios that one might face while testing Appium?
- What is an Appium package master? How can you create an Appium Package?
- What is the underlying API that Appium follows?
- How can you inspect elements that are present in the Native Android App and IOS app?
- Write the command that will allow you to identify objects uniquely when there are multiple objects within the same class name using Appium?
- Mention the method with which you can scroll down in App?
- Give the difference between emulator and simulator? Which approach is the best? Testing on real devices or simulators/emulators?
- Limitations of using Appium?
- How to find DOM element or xPath in a mobile application
- What are the possible errors one might encounter using Appium
- What are the most difficult scenarios to test with Appium?
Appium Interview Questions 2 years Experience
- How to implement parallel executions with Appium?
- Explain Appiumarchitecture
- Can we use CSS in Appium
- How to automate OTP, alerts
- How to install iOS with Appium
- What are the challenges in Appiumw.r.t ios and android
- How to integrate AWS with Appium
- How to get logs in Appium
- What are ADB and ADB commands
- How does ios architecture work in Appium?
Latest Appium Interview Questions
- Difference types of applications you worked on?
- How do you estimate mobile app testing?
- What is signed and unsigned build?
- How do you download build? And how you maintain integrity?
- Are the difference you worked on and their version?
- How do you perform security testing for the mobile app?
- Emulator and simulator use?
- App extensions? Android and iOS?
- How to check if the app has been installed silently?
- How to capture device logs? Most imp
- What is the difference between mobile and web app
- What is a reason for app crashing
What is Appium?
Ans: it 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).
Why Appium?
- It is a free, open-source test automation framework for mobile testing.
- 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 know selenium can quickly get the things and start working).
- It supports multiple platforms, i.e., Android, iOS, FirefoxOS
- It supports various 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.
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.
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
Check Also: Selenium Interview Questions
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.
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.
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.
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.
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.
Runtime.getRuntime().exec(“cmd /c start C:\\appiumstart.bat”);
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.
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.
Or 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.
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.
Read Also: Unix Interview Questions
What are the Limitations of Appium?
- 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
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.
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.
Will Appium work for Mobile Browser Automation?
Ans: Yes, we can use Appium to work on Mobile Browsers also.
What are Native Apps?
Ans: Native Apps or Applications are those written by using the Android or iOS SDK’s
What are Mobile Web Apps?
Ans: Mobile Web Applications are those which are accessed using a Mobile Browser.
What test frameworks are supported by Appium?
Ans: Appium does not support test frameworks because there is no need to support, we can use appium with all test frameworks whichever we want like NUnit, etc.
Don’t Miss: Manual Testing Interview Questions
What are the basic requirements to write the Appium tests?
- 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 sends them to the appium server over HTTP.
- We need to initialize a session firstly as such an 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 to initialize an appium session.
- By using a large and expressive vocabulary of driver commands, we can write our tests.
What are Hybrid Apps?
Ans: Hybrid Apps are those which have a wrapper around a web view and a native control that interacts with web content.
What is the difference between Hybrid Apps and Native Apps?
Ans: Hybrid apps are web-based apps that work well on the mobile browser, whereas Native apps are written for a particular OS, i.e., Android, iOS, etc.…
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.
Does Appium support Emulators in iOS?
Ans: No, Appium doesn’t support Emulators in iOS.
Explain the design of the Appium?
Ans: Appium is an HTTP server that 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 requests 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.
Can Appium run on windows to test the iOS app?
Ans: 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.
What kind of platforms supported by Appium?
Ans: Appium supports platforms like:
- Android
- Firefox mobile OS
- iOS
Which kind of applications can we automate using Appium?
Ans: We can automate applications using Appium
- Mobile Web Browser
- Hybrid Applications
- Native Applications
What is the default port number used for Appium Server?
Ans: 4723 is the default port number used for Appium Server.
To perform app automation, can we use JavaScript in Appium?
Ans: Yes, we can use JavaScript to automate applications using Appium. Whatever the language that supports HTTP requests can be used with Appium.
Name the list of Appium Client Libraries?
Ans: Ruby, Java, Python, PHP, and C# are the appium client libraries that are used for extension WebDriver protocol.
Do you need an app’s .apk in Android to automate using Appium, or you also need the app in your workspace?
Ans: We need the only .apk file to automate using Appium in Android.
Can we run our tests in a multithreaded environment while using Appium?
Ans: 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.
How we find the DOM element in a mobile application?
Ans: By using “UIAutomateviewer,” we can able to find the DOM element in a mobile application.
Does Appium have the same approach as WebDriver?
Ans: Yes, Appium has the same approach as WebDriver.
More Interview Questions: Testing Interview Questions
What are the advantages of Appium?
- Appium supports multiple programming languages
- It is an open-source tool
- It supports iOS and Android platforms, and 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
What are the disadvantages of Appium?
- Appium does not support testing of Android versions lower than 4.1
- Doesn’t support Image Comparison
Does a server node is required to execute Appium tests?
Ans: No, we don’t need a server node to execute appium tests.
What are the basic selenium commands to use with an appium?
- Managing Alert boxes
- Elements locate commands by using the class name, ID
- Text commands like type(). Syntax: wdBacked.type(locator,value);
The difference between the Find Element and Find Elements method in selenium?
- Find Element means to Capture Single WebElement
- Find Elements means to Capture Multiple WebElements from the List of Webelement
What is the command used to start and stop appium service?
Ans: 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.
What are the steps to configure and run Mobile Automation Test cases using Appium?
- Download Java and set Java_Home in environmental variables.
- Download Android Studio.
- Check the Android installation path in the machine
- Set Android_Home Environmental variables path to SDK location and include bin folder paths in the 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
Difference between Selenium and Appium?
Ans: Selenium is an open-source tool that allows the automation of the elements of Web Applications as well as Mobile Applications, whereas Appium is also an open-source tool to test the web applications which run on mobile browsers.
How will we run parallel iOS tests in Appium?
Ans: By using Sauce Labs, we can run iOS tests parallel, we need to upload our Appium test to sauce labs, and it will run as many iOS tests parallel.
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 the Appium server locally is reduced.
Can we able to test iOS applications on a Linux machine using Appium?
Ans: No, we won’t be able to test iOS applications on Linux machines by using Appium.
What is an Xcode in Appium?
Ans: Xcode is an integrated development environment for OS X and iOS.
Does Appium supports ‘C’ language?
Ans: No, Appium doesn’t support ‘C’ language.
What is POM, and what is the basic use of POM?
Ans: POM is an XML file that is used for configuring the project in MAVEN.
How will we inspect elements using the Appium?
Ans: By using the uiautomatorviewer and Appium Inspector, we can inspect elements in Appium.
What is the Full form of apk extension?
Ans: apk stands for Android Application Package File.
What tools can be used for debugging Android?
Ans: Android Monitor.bat tool is used for debugging Android.
How can we test screen sizes for different devices?
Ans: By using Emulators, we can test different devices on screen sizes.
What is the extension used for Android files?
Ans: .apk(Android application package) is used for Android files.
What is the extension used for iOS files?
Ans: .ipa(iOS App Store Package) is used for iOS files.
Which is the complex task to perform using Appium?
Ans: The data exchange part is the complex task to perform using Appium.
What are the possible errors you might encounter while using Appium?
- Fail to start an appium session
- Nothing is happening when Clicking on Inspector icon
What tools can be used for debugging iOS?
Ans: iPhone Configuration Utility tool is used for debugging on iOS
If you find any interview question that is not covered in the list, please comment in this blog post, so that I can update in this list
Appium decorator ?