Course Price$ 399.00
1) Appium Course Contents
- Introduction to Mobile Automation
- Various tools for mobile application?
- What is Appium?
- What all can be tested with Appium?
- WebDriver Wire protocol
- Hybrid Apps, Native Apps and WebApps
- Concept of UIAutomator
- When to use Selendroid and when to use Appium
- Drawbacks and Limitations
- What is seledroid
- Difference between Appium and Selendroid
- How things came into being
- What should I learn?
2) Download and Configure Appium/Maven Dependency
- Configuring Appium on real device
- Why work on real device?
- Download and Configure Android on local machine
- Understanding difference between Api level and Android version
- API levels and Android versions supported by Appium supported by android
- Getting correct API level for Android
- Getting correct Android version in Phone – Provider dependant
- Enabling developer mode
- Debug level settings in Phone
- Connecting phone and making sure it’s being detected in DDMS(Pdanet software)
- Install Node JS
- Install Microsoft Dot Net framework
- Download Appium
- Configuring Various versioning/API level requirements for Appium
- Starting Appium Server from Console
- Starting Appium Server from command prompt
- Various command line arguments for Appium
- Running your first Appium Program
- Configuring Appium on Simulator
- Installing Simulator
- Running first Script on Simulator
- Maven dependencies
- Various Maven/POM dependencies for Appium
- Downloading/Configuring Appium, Selenium from Maven/POM dependencies
3) Launching Hybrid/Native Apps with Appium
- Desired Capabilities for Appium and Android
- Concept of Apk file, AppActivityName and AppPackage
- How to get Apk file, AppActivityName and AppPackage for any application
- Is Apk file necessary to test App – Not in all cases
- Javadocs for Appium
- AppiumDriver and RemoteWebDriver classes
- Launching System Hybrid Apps
- Appium reinstalls App
- Preventing Appium from deleting and reinstalling App
- Always quit Appium – Mandatory
4) Identifying Elements-1
- Concept of UI Automator
- Understanding Android Layouts
- Tag name not supported
- Find Element and FindElementByAndroidUIAutomator
- Using UISelector Class in UIAutomator API
- Finding by Classname
- Detecting presence of Elements
- Building Xpaths
- Challenges faced in finding Elements and Workarounds
- Using Android UI Automator’sUISelector() and its functions
- Hiding Keyboard
- Waiting – Implicit and explicit waits
5) Identifying Elements-2
- Finding multiple Elements
- Finding Elements inside Elements
- ComplexFind and Mobile Element
- Finding Elements with Multiple criteria using Complex Find
- Dragging and dropping elements
- Multitouch Actions
- Pinching, tapping, holding
6) Web Application Testing
- Launching browser with Appium
- Making sure you have the correct desired capabilities
- When launch fails
- Firing various commands on browser
- Will UIAutomator work here?
Interview Questions & Answer
1) What Is Mobile Application Testing And How Is It Different From Mobile Testing?
Mobile Application Testing (MAT) is the testing of an application on mobile devices. it is different from Mobile Testing (MT) as, in MT we focus on the native application features of the Mobile devices like Call, SMS, Media Player, etc. And in MAT we focus only on the functionality & features of the application under Test.
2) List the types of mobile app testing?
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
3) Explain the general structure of mobile application testing frameworks?
Mobile application testing framework includes three segments:
Application Package: It is the target application that requires to be tested.
Instrumentation TestRunner: It is a test case runner that runs test cases on the target application. It includes an SDK tool for building test and a tool that provides APIs for writing a program that controls an Android device, for example, MonkeyRunner.
Test Package: It includes two classes, Test case classes, and Mock objects. Test case classes include test methods to perform on the target application ,on the other hand the mock object includes mock data that will be used as sample input for test cases.
4) What is the Appium philosophy?
Appium is based around the four philosophies :
- Test the same app you submit to the marketplace
- Write your tests in any language, using any framework
- Use a standard automation specification and API
- Build a large and thriving open-source community effort.
5)What Is Appium?
Appium is an open source and cross-platform automation testing tool. It is used for automating test cases for native, hybrid and web applications. This tool has a major focus on both Android and iOS apps . Earlier it was only restricted to the mobile application testing domain. Recently, a few updates back, Appium also announced that they will support the testing of desktop applications for windows. Appium is developed and maintained by Sauce Labs. Currently, Appium version 1.10 is being distributed. Appium first started off as a command line based testing service that can be installed using Node.js. In their latest release, named ‘Appium desktop’ they have released a robust and refined tool with an intuitive graphical user interface.
6)What are the main advantages Of Using Appium On Sauce Labs?
- You save the time it takes to set up the Appium server locally.
- You don’t have to install the mobile emulators/simulators in your local environment.
- You don’t have to make any modifications to the source code of your application.
- You can start scaling your tests instantly.
7) Explain The Design Concept Of Appium?
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 set up on a machine that exposes a REST API.
It receives connection and command request from the client and executes 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.
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
8) What language does Appium support?
9) How Would You Retrieve A DOM Element Or The XPath In A Mobile App?
Just like the <FirePath> does in Firefox for Selenium, here you have the <UIAutomateviewer> to locate any element for Android app.
10)What are the different prerequisites for setting up Appium?
The different features or components to set up the Appium test environment are mentioned below:
Android SDK or XCode for iOS.
Java Development Kit.
Test NG Framework.
Selenium Web Driver.
Selenium Server Jars or Libraries.
As a mobile developer, you need to release your applications in short cycles, being seamlessly functioning and stable on a variety of popular devices. To achieve this must-have goal. You should focus on well-structured and, maintainable code alongside high quality.
There are many popular open source and platform native tools that will help you as a developer to test your Android and iOS apps and ensure you release a flawless product. if you’re looking for cross-platform – Appium .
Appium is the most popular open source test automation framework for use with native, hybrid and mobile web apps. It drives iOS, Android, and Windows apps using the WebDriver protocol.
TestProject took this leading mobile Appium driver, and wrapped it with best in-class tools for developers. Testprojects provides these tools completely for free, in order to help developers utilize Appium in an easy and simple manner, using the following capabilities:
1. Single executable that configures the entire Appium server for you, for both iOS and Android (no more ports, configurations or multiple drivers).
2. In browser real time screen mirroring and control of your device (as seen in the image above).
3. Support for ios on windows.
4. Ability to create recorded tests on your real devices or Emulators.
5. In browser element explorer for your application’s DOM.
6. In browser element xpath locator.
7. Running your tests across multiple devices, both real and virtual (utilising sauce labs and Browser stack).
8. Deployment & Test Execution.
9. Tests repository in TestProject account (no Git or external integration to source control are needed).
10. Team collaboration (just invite your teammates and start collaboration).
11. Built-in test execution reports.
12. Single Selenium API based SDK for iOS and Andorid (Java/.NET Core).
Appium code export from recorded tests to java or .net core