InterviewSolution
This section includes InterviewSolutions, each offering curated multiple-choice questions to sharpen your knowledge and support exam preparation. Choose a topic below to get started.
| 1. |
What are the tools used in Appium for debugging? |
|
Answer» We generally use log data ( a log file is maintained WHEREIN whenever an error occurs, it is logged into this file) to see the CAUSE of the ISSUE, where the failure is occurring. So for iOS – iPhone configuration utility & for Android Monitor.bat, etc can be used. If you give the developer the logs from these tools, they'll be able to figure out what's CAUSING the problem quickly. Useful Resources: Automation Testing Android |
|
| 2. |
What are the basic requirements for writing Appium tests? |
|
Answer» Following are the basic requirements for writing Appium tests:-
|
|
| 3. |
Mention the tests which you cannot do with an emulator but can do it with a real device. |
|
Answer» Following are a list of tests that we may conduct on a real device but is not possible in an EMULATOR:- |
|
| 4. |
Do you think that automation testing can be a complete replacement for manual software testing? |
|
Answer» No, automation testing cannot be a complete replacement for manual software testing. This is because the tools used are meant to execute tests once they are set up and proper automation requires as little human PARTICIPATION as feasible. As convenient as it is, it should not be used to replace manual testing; rather, it should be used for REPETITIVE activities such as load testing, which requires thousands of virtual users. Engineers should not automate test scripts if they are only intended to run on a periodic basis, nor should they automate code reviews or BUG testing for new software BUILDS that may require human engagement to detect errors. To sum up, we can say that large-scale, repetitive jobs are better suited to automation. |
|
| 5. |
Differentiate between Appium and Selenium. |
|
Answer» Selenium: Selenium is an open-source (free) automated testing framework for validating web applications across multiple browsers and platforms. Selenium Test SCRIPTS can be written in a variety of programming languages, including Java, C#, Python, and OTHERS. Following are the differences between Appium and Selenium:- Based on USAGE:
Based on Design:
|
|
| 6. |
Differentiate between Appium and Calabash. |
||||||||||||||||||||||||
|
Answer» Calabash : Calabash is an automation framework for automating user INTERFACE acceptance tests. It works with a variety of mobile systems, including iOS and Android. This can be used to automate a variety of mobile applications, including native, mobile WEB, and hybrid. Following are the differences between Appium and Calabash:-
|
|||||||||||||||||||||||||
| 7. |
Differentiate between open source tools, vendor tools and in house tools. |
Answer»
|
|
| 8. |
Differentiate between Appium and Robotium. |
|
Answer» Robotium: Robotium is a testing framework for Android that automates TEST cases for native and hybrid apps. The developer can use Robotium to construct robust automatic Graphical User Interface (GUI) testing cases for Android applications. A developer might also design a functional, system, and acceptability test scenario, which would cover a wide range of Android activities. Following are the differences between Appium and Robotium:-
|
|
| 9. |
Differentiate between Appium and Selendroid. |
|
Answer» SELENDROID: Selendroid is a cutting-edge test automation framework for testing native and hybrid Android mobile apps. The test is created using the Selenium 2 client API and is driven by the user interface of a mobile or web app. Selendroid is a dynamic mobile testing framework that can be used on emulators as WELL as real Android smartphones, with the option of integrating as a node in Selenium Grip for parallel testing and scaling. Following are the differences between Appium and Selendroid:
|
|
| 10. |
Explain how Appium works. |
|
Answer» When we install Appium on our PC, it also installs a server that exposes the REST API. It accepts commands and connection requests from the client and executes them on iOS or Android devices. It responds to HTTP requests with HTTP responses. It RUNS the user interface of the app using a mobile test automation framework to perform requests. As an example - UIAutomator is used for Android API 16 or higher, while Selendroid is used for Android API 15 or below. Apple Instruments is used for iOS. Working of Appium on Android: Appium sends the command to a UIAutomator script running on the device on Android. UIAutomator is an Android native UI automation framework that allows you to run Junit test cases straight from the command line on the device. Despite the fact that it is written in Java, Appium can be run from any WebDriver enabled language. Android makes use of bootstrap.jar, a TCP server. It's used to deliver test commands to an Android device, which UIAutomator then executes. In the above IMAGE, we can clearly SEE the architecture of Appium used for running on Android devices. Working of Appium on iOS: As Android uses UIAutomator, iOS uses UIAutomation. Similar to the Android, Appium PROXIES the command to a UIAutomation test case running on the Mac instruments ENVIRONMENT. Apple provides this application "instrument" that performs various activities like building, profiling, and controlling iOS apps. On the other hand, it also has an automation component where you can write commands in JavaScript. It uses UIAutomation API to interact with Application UI. Appium uses the same libraries to automate iOS Apps. In the above image, we can clearly see the architecture of Appium used for running on iOS devices. |
|