Are we using the right iOS/Android tools?

Testing is executed best when we have the most excellent knowledge of using the appropriate tools. How well acquainted are we with the tools that support our testing in the most efficient way? Listed below are the iOS and Android tools that will help you perform testing in a better way.

Tools for iOS/Android

  • Appium – an open-source tool for automating native, mobile web and hybrid applications on iOS and Android platforms. Native apps are those written using the iOS or Android SDKs. Mobile web apps are web apps accessed using a mobile browser (Appium supports Safari on iOS and Chrome or the built-in ‘Browser’ app on Android). Hybrid apps have a wrapper around a ‘webview’ – a native control that enables interaction with web content.
    Appium is ‘cross-platform’ – it allows you to write tests against multiple platforms (iOS, Android), using the same API. This enables code reuse between iOS and Android test suites.

  • Calabash – an acceptance testing automation framework that enables you to write and execute automated acceptance tests of mobile apps. Calabash may be compared with the famous Selenium Web Driver.  However, it is important to realize that interacting with a web app from a desktop computer is vastly different than interacting with a native app using a touch screen. Especially when dealing with a native application. Calabash provides APIs that are specialized to native apps running on touch screen devices. Calabash is cross-platform, supporting Android and iOS native apps.

  • Monkey Talk automates real, functional interactive tests for iOS and Android apps – everything from simple “smoke tests” to sophisticated data-driven test suites. Native, mobile, and hybrid app, real devices or simulators.

iOS tools

  • Frank allows you to write structured text test/acceptance tests/requirements (using Cucumber) and have them execute against your iOS application. It also includes a powerful ‘app inspector’ (called Symbiote) that you can use to get detailed information on your running app.
  • iOS UI Automation is an iOS tool as the name suggests. It helps you to automate your user interface tests through some written test-scripts. These scripts simulate user actions by calling UI Automation, a JavaScript programming interface that specifies actions to be performed in your app as it runs. During the tests, the system returns log information to you.
  • iOS Driver automates any IOS native, hybrid, or mobile web application using the Selenium / WebDriver API. iOS-driver fully integrates with Selenium Grid so you can reuse your existing web automation infrastructure including your helper and utility classes (i.e. data creation, page objects etc.)
  • KIF or Keep It Functional is an iOS integration test framework that allows for easy automation of iOS apps. It builds and performs the tests using a standard ocunit testing target. It also integrates into your XCode project directly without requiring to run an additional web server or installing any packages. You can install this framework manually or from CocoaPods.

Android Tools

  • Robotium is an open-source test framework for writing automatic gray box testing cases for Android applications. A great tools for both hybrid and native apps that can be used both for testing applications where the source code is available and applications where only the APK file is available and the implementation details are not known.

  • The UI Automator testing framework lets you test your user interface (UI) efficiently by creating automated functional UI test cases that can be run against your app on one or more devices.
  • Selendroid is a test automation framework which drives off the UI of Android native and hybrid applications (apps) and the mobile web. Tests are written using the Selenium 2 client API. Selendroid can be used on emulators and real devices and can be integrated as a node into the Selenium Grid for scaling and parallel testing.

Make the best use of these tools….Happy Testing!