Category:

Automation Testing – Best Open Source Tools For Mobile Apps

May 18th, 2017 by

Why Mobile App Automation Testing?

Testing of Mobile Apps in quite cumbersome because of sheer magnitude of testing required on variety of devices. Moreover, Mobile Apps require changes faster than other kind of Applications (Web or Desktop). That’s the reason, more and more organizations have started realizing the need of using automation testing over manual testing as much as possible.

 

Mobile App Automation Testing can be a massive undertaking, and if unaware, one can end up complicating the process by selecting a bad tool. With a major trending shift to open-source mobile test automation tools, there have been a plethora of tools available in most open-source software markets.

 

So how do you know which are the best software testing tool available in the market? Which tools will give you the most efficient solution to fulfill your enterprise’s need for speed and integration? Will manual testing suffice your app testing needs?

 

This blog post is to help you quickly choose which open-source test automation tool will be right for your automation testing

 

Benchmarks for selecting the right tool

You would need a set of criteria to fulfil when assessing your selection of the right open-source automation tool. Here are a crucial few questions to ask:

 

  • Do you have the required skilled resource for automation tasks?
  • Is there ease of script development to support agile processes and shorter iteration cycles?
  • Does the tool support cross team collaboration for seamless use by QA and Dev?
  • Can it match app platform with test development language?
  • Will it have performance capabilities gaps while testing?
  • Will it support both real devices and emulators?
  • Does the app support multiple platforms — Mobile and Web?
  • Does it have multi device execution capability
  • How easily can it integrated with external Device cloud platforms?

 

Best Open-Source Mobile Testing Frameworks to use:

To take the final call, testers must have a strong awareness of the tool’s strong and weak aspects, what it can do and what it cannot, and find a balance between cost and benefit.

 

These are top highly adopted open source test automation frameworks available in the market. Each of these frameworks are backed by different communities due to their unique offerings to the target audiences and relevant platforms. The overall benefits are that they cover a wide range of devices. However, for technical clarity it’s important to know the pros and cons of the framework based on your mobile and web testing needs:

 

1. Appium: Widely adopted, it is the leading open-source test framework for mobile app (Android, iOS) test automation.

 

Pros:

  • Best suited for QA teams to test the functionality of mobile web, native and mobile hybrid apps across iOS and Android.
  • Its reports are limited from debugging and fast feedback loop.
  • Supports development tools using any WebDriver compatible language including Java, C#, Ruby etc.
  • Cross Browser Support and cross platform capabilities

 

Con: It is less suitable for performing and developing unit testing.

 

2. Calabash: It is a Behavior-driven development (BDD) test framework based on Ruby development language.

 

Pros:

  • Has a large community support
  • Cross platform development support (Android and iOS)
  • Provides solid reports and insights to QA and Dev teams
  • Easy path to both develop and test features in parallel
  • Simple and easy-to-read test statements

Con: It is not friendly to languages other than Ruby.

3. Espresso & XCTest UI: Both are very similar tools as they were designed for the target users. Espresso for Android and XCTest for iOS are fully maintained by Google and Apple, assuring the latest features for respective platforms.

Pros:

  • Latest feature integrations assure lead in market curve for developers and testers
  • Easy to develop techniques including test recorders
  • Support both types of unit testing and functional UI

Con: Both are app context only, which means limited ability to test for user condition scenarios

4. Selendroid: An open source automation framework which drives off the UI of android native, hybrid and mobile web application. A powerful testing tool that can be used on emulators and real devices. And because it still reuses the existing infrastructure for web, you can write tests using the Selenium 2 client APIs.

 

Pros:

  • Can interact with multiple Android devices and simulators simultaneously
  • Can simulate human actions like touch, swipe, drag etc. on devices
  • Supports development tools using any WebDriver compatible language including Java, C#, Ruby etc.

 

5. Robotium: Widely adopted open source Android test Automation framework.

 

Pros:

  • Easy to write powerful test scenarios
  • Full support for native and hybrid Android Apps
  • Easy to use recorder
  • Handles multiple Android routines automatically

 

6. EarlGrey: EarlGrey is a native iOS UI automation test framework that enables you to write clear, concise tests. It integrates with Xcode’s Test Navigator so you can run tests directly from Xcode or the command line.

 

Pros:

  • Works directly from XCode
  • Full support for native and hybrid Android Apps
  • Synchronization features which automatically synchronizes with the UI and network requests.

 

mobile app automation testing

 

Would you like to know how to use Automation Testing on Real Devices with pCloudy? Click Here

XCUITest for iOS Apps and How to Test With Xcode

May 4th, 2017 by

XCUITest for iOS Apps

 

UI testing for iOS app is a way to validate & interact with the real UI of the app. This testing process will check if UI elements are designed and implemented the way it should be by interacting the UI elements by tapping, swiping, scrolling and verifying the behavior. For iOS version 9.3.5 and above, Apple has introduced XCUITest by deprecating instruments with UI Automator making it mandatory to use XCUITest for iOS automation.

 

Xcode has XCUITest framework integrated allows to easily develop UI tests for user’s interaction with the application. Implementation of UI tests for iOS apps with XCUITest is same as unit tests in XCTest.

 

pCloudy supports both XCUITest for iOS version 9.3.5 & above and instruments for lower version. DesiredCapabilities like automationName, usePrebuiltWDA, acceptAlerts are required to run the automation scripts in pCloudy platform.

 

1) Creating IPA file using xcode for testing

a. In General tab, Select Provisioning profile in Signing(Debug) and Signing(Release)

 

test-munk-demo

 

b. Select Provisioning Profile

 

XCUITest

 

c. Archive the build

 

archieve-build

 

d. Export the build

 

export-the-build

 

e. Choose Development Team ID

 

development-team-id

 

f. Choose to export for all compatible devices

 

Choose-to-export-for-all-compatible-devices

 

testmunkdemo

 

g. Select the appropriate location to save

 

select-appropriate-location-to-save

 

Now you have properly signed to run automation in pCloudy platform.

 

2) Running Automation Script @ pCloudy

 

a. Login and upload ipa file

 

login

 

b. Upload the App to cloud drive post login

 

upload-the-app-to-cloud-drive

 

c. Create XCUITest project in Eclipse or Android Studio.

 

The following capabilities need to be set after creating AppiumDriver object to run XCUITest above v9.3

 

XCUITest-Project

 

Also you can download Sample Project from below link-
http://pcloudy-content-distribution.s3.amazonaws.com/index.html?prefix=Sample Appium Projects/java/

 

d. Select any number of iOS devices for test run

 

ios-devices

 

e. Click Live view for Online Streaming of Test automation

 

appium-native

 

live-view

 

f. View the Reports

 

Consolidated Report:

 

consolidated-report

 

Single Device Report:

 

single-device-report

Automation Testing on Real Devices

October 13th, 2016 by

Mobile Automation Testing

 

pCloudy provides you the cloud platform to perform Automated Testing on Real Mobile Devices. To schedule automated testing over pCloudy, go to the Automator page. Here, you can use filter your devices based on mobile OS (android/iOS) and test automation framework (Calabash/Robotium). Further, you need to choose application file (.apk/.ipa), zip file of test script, enter time duration (default – 15 minutes), test cycle name (default – Test cycle). Now, browse, select and add desired device(s) to schedule test automation.  When test automation gets completed, you will get an email reminder for the test completion.

 

Mobile Automation Testing

Robotium Automation Execution

August 28th, 2016 by

Robotium automation testing tool for Android

 
pCloudy allows you to run your Robotium test script over android devices. Robotium is an open-source test framework for Android applications.

Here are steps to run Robotium test script over android device:

  • Login over www.pcloudy.com with your registered Email ID & Password
  • Go to the Automator Page
  • Select Android OS version & Manufacturer
  • Select and add desired device
  • Choose Robotium (to run Robotium test scripts)
  • Select Application .apk file (the App to be tested)
  • Select Test Script .apk file (the Test Script developed for testing)
  • Enter Single Device execution Time (Time required for the entire script to be executed on single device)
  • Enter Name of your Test Cycle (this name will represent your Test Cycle)
  • Click on Schedule Test Cycle

Robotium
 
In the next step, you need to confirm schedule of test automation. Here, you can see your selected application, test script, device etc.
robotium-confirm-test-cycle
 
Further, you get a pop up message of test automation schedule confirmation.
Click on OK to proceed.
robotium-simple-online-device-cloud
 
Finally, you get Cloud Automator Report of your scheduled test automation.
robotium-cloud-automator-report

Automated Testing Using Espresso

August 25th, 2016 by

Automation Testing With Espresso

 

Now you can run your Espresso Scripts on hundreds of Mobile devices over pCloudy.com.

Espresso is a testing framework for Android apps. The platform allows you to write concise and reliable Android UI tests. pCloudy.com provides you the platform to run these scripts on multiple mobile devices of your choice.

Here are the steps for running your Test Scripts on multiple Android Devices:

  • Login over www.pcloudy.com with your registered Email ID & Password.
  • Choose Instrumentation Type based on your Test Scripts you’ve written. pCloudy provides support for Instrumentation Type
  • (InstrumentationTestRunner, AndroidJUnitRunner) for Android. For more information, see Instrumentation in the Testing Fundamentals section of the Android Developer Tools documentation.
  • Go to the Automator Page
  • Select Android OS version & Manufacturer
  • Choose Espresso (to run Espresso Scripts)
  • Select Instrumentation Type (TestInstrumentationRunner/AndroidJUnitRunner).
  • Select Application .apk file (the App to be tested)
  • Select Test Script .apk file (the Test Script developed for testing)
  • Enter Single Device execution Time (Time required for the entire script to be executed on single device)
  • Enter Name of your Test Cycle (this name will represent your Test Cycle)
  • Click on Schedule Test Cycle

test-automator

In the next step, you need to confirm schedule of test automation. Here, you can see your selected application, test script, device etc.

confirm-test-cycle

Further, you get a pop up message of test automation schedule confirmation.

Click on OK to proceed.

test-cycle-scheduling-successful

Go to your mailbox and open pCloudy Automation Alert mail.
Click on the given link “Click to view Report”.

simplest-online-device-cloud

Finally, you get result of your scheduled test automation.

cloud-automator-report

Calabash Automation Execution

April 21st, 2016 by

Calabash Automation Execution for Mobile Apps

 

pCloudy provides automation execution environment to run your Calabash test script of android and iOS and hybrid applications as well.

Here are steps to run Calabash test script over android device:

  • Login over www.pcloudy.com with your registered Email ID & Password
  • Go to the Automator Page
  • Select Android or iOS OS version & Manufacturer
  • Select and add desired device
  • Choose Calabash (to run Calabash test scripts)
  • Select Application .apk/.ipa file (the App to be tested)
  • Select Test Script zip file (the Test Script developed for testing)
  • Enter Single Device execution Time (Time required for the entire script to be executed on single device)
  • Enter Name of your Test Cycle (this name will represent your Test Cycle)
  • Click on Schedule Test Cycle

Calabash

Click on Schedule to confirm schedule of test automation. Here, you can see your selected application, test script, device(s) etc.

calabash-confirm-test-cycle

You get a pop up message of test automation schedule confirmation.

Click on OK to proceed.

calabash-test-cycle-scheduling-successful

Go to your mailbox and open pCloudy Automation Alert mail.

Click on the given link “Click to view Report”.

calabash-simplest-online-device-cloud

Here, you can see result of your Calabash Automation Execution. This directory contains all important information of execution result.

calabash-cloud-automator-report