Question 6. Full form of various application extensions.

  • iPA: iOS APP Store Package
  • APK: Android Application Package file
  • exe: Executable File
  • jad: Java Application Descriptor
  • prc: Palm Resource Compiler

Question 7. Mention the Different Types of Mobile Applications.
Mobile applications can be broadly categorized into three categories i.e, Native app, Web app and Hybrid App.
Native App: Native app is developed specifically for one platform, which is coded with a specific programming language (like Objective C for iOS, Java for Android) and installed directly onto the device and can take full advantage of all the device features. Native apps can use the device’s notification system and can work offline. Native apps are installed through an application store (such as Google Play or Apple’s App Store). Native mobile apps provide fast performance and a high degree of reliability. Example of native apps: Temple Run, Candy Crush, etc.
Web App: Web applications are mobile web portals that are designed, customized and hosted specifically for mobiles. They are accessed through the mobile device’s web browser using a URL. Web apps became really popular when HTML5 came around and people realized that they can obtain native-like functionality in the browser. Mobile web applications cannot use device functionality. Example of web app: google.com, m.snapdeal.com, m.yahoo.com, etc.
Hybrid App: Hybrid Apps are web apps embedded in a native app, run on the device, and are written with web technologies (HTML5, CSS, and JavaScript). Hybrid apps run inside a native container and leverage the device’s browser engine (but not the browser) to render the HTML and process the JavaScript locally. A web-to-native abstraction layer enables access to devices capabilities that are not accessible in mobile web applications, such as the accelerometer, camera, and local storage. A hybrid app is NOT tied to any platform or any particular mobile device. So, it can run on any device once built. Example of a Hybrid app: Flipkart, Facebook, Twitter, etc.

 List some issues Faced With Cross-Platform Testing?

Generally, the issue depends upon the different OS/device version. It might be that the same application is working on one OS while it might not work on another version. For example, we faced an issue that our application was working fine on iOS 6.x version devices but on tapping a few modules on iOS 5.x devices application crashes and the same happened with 2.3.5 Vs.

When Performing End To End Mobile Testing What Major Criteria Are Taken Into Consideration?

Major areas are
  • Installation of the application.
  • First time launching an application without having network access.
  • Uninstallation of the app.
  • The orientation of the app if it is supported.
  • Testing application performance on different kinds of devices and network scenarios.
  • Testing the application response and how it responds when an invalid user credential is provided.
Also, if your application is accessing any network then you must check the logs generated during that period so that the sensitive information should always go in an encrypted form.

Mention The Basic Requirement For Writing Appium Tests.

For writing Appium tests you require:
  • Driver Client: Appium drives mobile applications as though it were a user. Using a client library you write your Appium tests which wrap your test steps and sends them to the Appium server over HTTP.
  • Appium Session: You have to first initialize a session, as such Appium test takes place in that session. Once the Automation is done for one session, it can be ended.
  • Desired Capabilities: To initialize an Appium session you need to define certain parameters known as “desired capabilities” like PlatformName, PlatformVersion, Device Name and so on. It specifies the kind of automation one requires from the Appium server.
  • Driver Commands: You can write your test steps using a large and expressive vocabulary of commands.

List Out The Most Common Problem That A Tester Faces While Performing Mobile Testing In Cloud Computing?

Challenges that a tester faces while performing mobile testing are:
  • Subscription model
  • High Costing
  • Lock-in
  • Internet connectivity issues
  • Immense consumption of time in image-based automation testing.
  • Automation is restricted by the framework

What Would You Prefer To Test Your Application On – Real Devices Or Use Simulators/Emulators?

You can answer by saying that it’s always best to test on real devices. As it would allow you to catch errors that you may not detect otherwise, but, you have to configure the device smartly with the Appium server so that it can detect the device. Sometimes the ADB(Android Debug Bridge) may disconnect from the device even if it remains plugged in, and it can cause your tests to fail. To handle such issues, you can write a module which resets the ADB after some time to re-connect to the devices.

What Are The Probable Errors You Might Come Across While Working With Appium?

The following are the errors you might observe with Appium.
  • Error#1: Missing desired capabilities e.g. Device Name, PlatformName.
  • Error#2: Couldn’t locate ADB. You may have missed setting the <ANDROID_HOME> environment variable.
  • Error#3: Selenium exception <openqa.selenium.SessionNotCreatedException>. It indicates a failure in creating a new session.
  • Error#4: Failure in locating a DOM element or determining the XPath.

List The Selenium Commands That Work With Appium.

There are a number of Selenium commands that work with Appium tool.
  • Locate commands using ID or class names.
  • Raise events on elements e.g. Click().
  • Text commands like type().
  • Get/Set element properties.
  • Commands to run JavaScript.
  • Switch context between different web views like switching <iFrames> in Selenium Webdriver.
  • Commands to manage alert boxes

 List OneThing Which You Cannot Do With Emulators But You Can Do With A Real Device.

You can test the interrupts like
  • 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.
Explain the pros and cons of Appium?
Pros:
  • For programmer irrespective of the platform, he is automating ( Android or iOS) all the complexities will remain under single Appium server
  • It opens the door to cross-platform mobile testing which means the same test would work on multiple platforms
  • Appium does not require extra components in your App to make it automation friendly
  • It can automate Hybrid, Web and Native mobile applications
Cons:
  • Running scripts on multiple iOS simulators at the same time is possible with Appium
  • It uses UIAutomator for Android Automation which supports only Android SDK platform, API 16 or higher and to support the older API's they have used another open source library called Selendroid

Comments

Popular posts from this blog

Implicit and Explicit Waits,FluentWait,PageLoadTimeOut

A Interview Questions- selenium