SlideShare a Scribd company logo
Different Android Test
Automation Frameworks –
What works you the best?

21 November 2013
Ville-Veikko Helppi
Technical Product Manager
ville-veikko.helppi@bitbar.com

1
Agenda
• Different Ways to Automate Your App Testing
• The Benefits and Characteristics of the Top 5
Android Test Automation Frameworks
• 10 Tips for Professional Mobile App Testing
• Testdroid Update
• Q&A

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

3
Agenda
• Different Ways to Automate Your App Testing
• The Benefits and Characteristics of the Top 5
Android Test Automation Frameworks
• 10 Tips for Professional Mobile App Testing
• Testdroid Update
• Q&A

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

4
Different Approaches To Testing

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

5

Recommended for you

Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentation

These are the slides for the presentation that Bitbar experts gave at Droidcon Berlin 2012 (http://de.droidcon.com/content/testing-device-compatibility-not-hard-you-think). The presentation included also a live demo of Recording tests with Testdroid Recorder 2.0 and running the same use cases with one click on all 100+ real Android devices in Testdroid Cloud.

testdroidrobotiumtesting on real devices
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device Testing

Watch a live presentation at http://offer.bitbar.com/hassle-free-continuous-integration-combined-with-a-real-device-testing Thousands of mobile apps are developed and released every day. The fierce competition for attention of end-users has changed the way mobile developers build and test their apps – and how they utilize today’s mobile devops tools to gain advantage of productivity, effectiveness and speed. Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/

real device testingdevopsmobile app testing
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game Testing

Watch a live presentation at http://offer.bitbar.com/learn-the-best-practices-of-mobile-game-testing To get the best start for your mobile game - or just to improve the existing game's possibility to get in front of hundreds of millions of gamers - we'll be sharing our insights, best practices and lots of tips&tricks how to gain advantage in this race. Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/

mobile testingios testingtest automation
Different Ways of Doing Test Automation
Hand written test scripts

Record and Playback

Automatic test exercisers

Fast to create, accurate, not as
sensitive to human-errors as
hand-written tests, tools avail’ty

Fastest & extremely automated,
excellent for smoke testing/quick
testing, availability

Benefits:
Accurate, specific to your testing
needs, plenty of options with
frameworks, tools
Tradeoffs:
Takes a lot of time, ties resources Compelling Recorder+Playback
to write test cases/scripts, error- tools available for only few test
prone (humans)
automation frameworks

Not accurate as real test cases

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

6
Option #1: Cloud-Based Testing
Users / Consumers

Successful
build

Build
failed

Commit

Repository

Test Cases
Application
QA & Testers

Error reporting

Source code
Developers

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

7
Option #2: Continuous Integration
Users / Consumers

Successful
build

Build
failed

Commit

Repository

Test Cases
Application
QA & Testers

Error reporting

Source code
Developers

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

8
Manual

Automation
Large
coverage, quick
ly
completed, Less
money & time
wasted, Exact
results.

Smaller coverage, More
money burnt & time
wasted, Error-prone
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

9

Recommended for you

Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum

http://www.techforum.prathidhwani.org/appium/index.html Appium Basics Appium Desktop Android Locator Types and Inspector Tools Appium Capabilities Mobile Interactions - Swipe and Scroll Page Object Model and Dependency Injection Real Device v/s Emulators / Simulators iOS Automation Cloud Automation Appium Tips and Tricks Please follow the steps in the below link to configure your system for the workshop https://medium.com/@syamsasi/setting-up-appium-on-windows-and-ubuntu-ea9a73ab989

appiumworkshopselenium
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021

Automated testing of Android apps using Appium, AndroidDriver, Selenium and C#. Speaker: Svetlin Nakov BurgasConf, July 2021 Contents: Appium: Overview, Architecture, Installation The Android Emulator Appium for Android App Automation Inspecting Android apps UI from Appium Using AndroidDriver<AndroidElement> Using Appium for Android from NUnit Testing on Physical Android Device

appiummobile testingnakov
Appium solution
Appium solutionAppium solution
Appium solution

This document provides information about Appium, an open source test automation framework for use with native, hybrid and mobile web apps. It discusses Appium's architecture and features, how to set up Appium for testing iOS and Android apps, different language clients available and requirements for writing tests in Java. The document also covers new capabilities and strategies introduced in Appium, such as TouchActions and MultiTouchActions.

automationmobile application developmentselenium
How to Improve the App Quality
• Automate generic things as much as you can
• During the development your app changes –
the same must apply for testing!
• Carefully select (testing) technology & partner
• Use all 24 hours per day with test automation
• Cloud-based platform is the only solution to
get you quickly covered in the global markets
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

10
Agenda
• Different Ways to Automate Your App Testing
• The Benefits and Characteristics of the Top 5
Android Test Automation Frameworks
• 10 Tips for Professional Mobile App Testing
• Testdroid Update
• Q&A

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

11
Android Instrumentation Framework
• InstrumentationTestRunner – the
primary plumbing for running tests
on Android
• Android Instrumentation
Framework is built on top of JUnit
– a standard test framework on for
any Java development
• Mock objects – methods for
creating mock system objects such
as content, service and intent.
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

12
Family Tree of Test Frameworks
Calabash
Appium

Robotium

Espresso

Android Instrumentation Framework

UI Automator

JUnit

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

13

Recommended for you

Android testing
Android testingAndroid testing
Android testing

This presentation was presented in Android Only! 2011 conference on June 14th. With more than 300 different Android devices out on 6 different platform versions, application developers are facing a real nightmare when trying validate that their applications really work on their customers' devices. While fragmentation is a new thing in Android platform, it is not new in software industry and there are several ways to deal with device fragmentation from testing point of view. This presentation discusses most common approaches to tackle fragmentation from application developer's point of view and explains why testing for device compatibility is a must for any serious Android application developer.

testdroidrobotiumandroid
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?

Watch a live presentation at http://offer.bitbar.com/do-you-enjoy-espresso-in-android-app-testing Majority of us love coffee but let's put that aside and focus on Espresso - by Google. This exciting new test automation framework just got open sourced and is available for app developers and testers to hammer their app UIs. Espresso has a small, predictable and easy to learn API - built on top of Android Instrumentation Framework - and you can very quickly write concise and reliable Android UI tests with it. Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/

appsios testingtestdroid
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation

The explosion of multi-platform mobile application development has created an extensive testing burden for quality organizations – and a huge opportunity for test automation ROI. Factoring in the idiosyncrasies of individual device models and carriers magnifies both the challenge and opportunity. Attend this session to learn how to extend test automation to the mobile platform and realize significant ROI. You will come away with best practices for implementing test automation effectively and efficiently across multiple mobile platforms and devices utilizing various types of mobile test automation tools. Specifically, tool independent techniques for creating a single test suite capable of executing across multiple platforms and devices will be discussed.

mobiletest automationmobile testing
Robotium: Basics
• Open source library extending JUnit
with plenty of useful methods for
Android UI testing
• Powerful and robust automatic
black-box test cases for Android
apps
• Supports native, hybrid and mobile
web testing
“It’s like Selenium but for Android”
• Semi-active open source
community with monthly releases
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

14
Robotium: Code Example
// Public void for the operation
public void testRecorded() throws Exception {
// Wait for the text 'Hello!' to be shown for newbie
if (solo.waitForText("Hello!")) {
// R class ID identifier for 'Sign in' - and click it
solo.clickOnView(solo.findViewById("com.twitter.android.R.id.sign_in"));
// R class ID identifier for entering username
solo.enterText((EditText)
solo.findViewById("com.twitter.android.R.id.login_username"),"username");
// R class ID identifier for entering password
solo.enterText((EditText)
solo.findViewById("com.twitter.android.R.id.login_password"),"password");
// R class ID identifier for clicking log in
solo.clickOnView(solo.findViewById("com.twitter.android.R.id.login_login"));
// Wait until log in is done
solo.waitForActivity("HomeTabActivity");
}
// Activate the text field to compose a tweet
solo.clickOnView(solo.findViewById("com.twitter.android.R.id.menu_compose_tweet"));
// Type the tweet
solo.enterText((EditText) solo.findViewById("com.twitter.android.R.id.edit"), "Testdroid");
// Tweeting!
solo.clickOnView(solo.findViewById("com.twitter.android.R.id.composer_post"));
}

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

15
Robotium: ExtSolo - Extension Library
• Includes useful methods that have not been
merged to Robotium, for instance:
–
–
–
–
–
–

Automatic scaling of x,y clicks for any resolution
Multi-path drags
Automatic screenshots on test failure
Mock locations
Change device language
Control WiFi connection

• You can download the library at
http://testdroid.com/products/apis-plugins-and-libraries
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

16
Calabash: Basics
• Behavior driven test framework for native
Android, native iOS and mobile web
• Tests are described in Cucumber and then converted to
Robotium or Frank in run time
• Supports currently about 80 different natural language
commands (controllers). New controllers can be
implemented in Ruby or Java
• If your app uses custom UI Widgets you have to create
controllers for those in order to test your app
• Calabash tools include a command line inspector for
finding right UI element names/ids
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

17

Recommended for you

Appium & Jenkins
Appium & JenkinsAppium & Jenkins
Appium & Jenkins

This document discusses appium architecture and how it was used to test 20-30 apps developed by 60+ developers over 10 months. It provides information on appium, selendroid, and the different architectures and workflows used for testing Android and iOS apps. Key points covered include the appium server architecture, WebDriver protocol, supported platforms, and challenges faced with testing such as slow test speeds, device failures, and network infrastructure issues.

appiumjenkins
Automated UI Testing for Web and Native Apps on iOS and Android
Automated UI Testing for  Web and Native Apps on iOS and AndroidAutomated UI Testing for  Web and Native Apps on iOS and Android
Automated UI Testing for Web and Native Apps on iOS and Android

This document discusses automated UI testing for mobile web and native apps. It covers testing mobile web apps with Selenium, testing native Android apps with Robotium, and testing native iOS apps with Frank. Key points include why automated UI testing is important, common pitfalls to avoid, and how the future of testing may involve writing tests in plain English scenarios using frameworks like Cucumber.

frankiosrobotium
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?

The document compares three mobile automation testing tools: Appium, Calabash, and Robotium. Appium provides a cross-platform solution that supports Android, iOS, and FirefoxOS. It uses the Selenium WebDriver JSON protocol and can run tests written in various languages. Calabash consists of Android and iOS libraries for interacting with mobile apps via gestures and assertions. It also supports testing HTML5 parts of hybrid apps. Robotium is an Android testing framework that simplifies writing functional tests using minimal app knowledge. It handles multiple app activities and integrates with build tools.

robotiummobile automationcalabash
Calabash: Architecture
• Calabash installs an HTTP server as an
instrumentation package that listens
commands from Calabash server

• Tests are executed on server side
• Each test scenario is described in
Cucumber
• Ruby Client library converts
Cucumber commands to either
Robotium or Frank method calls
• Webview support is implemented
with Javascript injection to the
Webview

Test server

Android device

Step
definitions, Ruby
client library

Calabash HTTP
server

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

Your app

Features

18
Calabash: Code Example
Feature: Login feature
Scenario: As a valid user I can log into my app
I wait for text "Hello"
Then I press view with id "Sign in"
Then I enter text "username" into "login_username"
Then I enter text "password" into "login_password"
Then I wait for activity "HomeTabActivity"
Then I press view with id "menu_compose_tweet"
Then I enter text "Testdroid" into field with id "edit"
Then I press view with id "composer_post"

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

19
uiautomator: Basics
• Google’s test framework for testing native Android
apps across device
• Works only on Android API level >=16
• Runs JUnit test cases with special privileges (test
cases can span across different processes)
• No support for web view (only handle to web view
elements as canvas object)

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

20
uiautomator: Code Example
// Public void for the operation
public void testSignInAndTweet() throws Exception {
// Starting application:
getUiDevice().wakeUp();
// Press Home button to ensure we're on homescreen
getUiDevice().pressHome();
// Select 'Apps' and click button
new UiObject(new UiSelector().description("Apps")).click();
// Select 'Twitter' and click
new UiObject(new UiSelector().text("Twitter")).click();
// Locate and select 'Sign in'
UiSelector signIn = new UiSelector().text("Sign In");
// If button is available, click
UiObject signInButton = new UiObject(signIn);
if (signInButton.exists()) {
signInButton.click();
// Set the username
new UiObject(new
UiSelector().className("android.widget.EditText").instance(0)).setText("username");
new UiObject(new
UiSelector().className("android.widget.EditText").instance(1)).setText("password");
new UiObject(new UiSelector().className("android.widget.Button").
text("Sign In").instance(0)).click();
// Wait Sign in progress window
getUiDevice().waitForWindowUpdate(null, 2000);
// Wait for main window
getUiDevice().waitForWindowUpdate(null, 30000);
}
new UiObject(new UiSelector().description("New tweet")).click();
// Typing text for a tweet
new UiObject(new UiSelector().className("android.widget.LinearLayout").instance(8)).
setText("Awesome #Testdroid!");
// Tweeting!
new UiObject(new UiSelector().text("Tweet")).click();
}

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

21

Recommended for you

Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks

Finding the right test framework is the key for getting your automated process right. This slide-show is a list of a few automated UI test frameworks, each with its characteristics, for Android and iOS.

writingframeworkframeworks
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid

The document discusses testing Android applications with Selendroid. It provides an overview of Selendroid, including its architecture and major components. It also covers how to set up and launch Selendroid, write tests with the Selenium API, and use the Selendroid Inspector tool to help develop tests.

mobile automation testingandroid automation testingselendroid
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium

This presentation will help anyone interested to have a quick start guide on Appium for automation testing on Android and iOS mobile apps.

appiumtestingmobileapps
Appium: Basics
• Uses Selenium Webdriver (W3C standard) as a
scripting framework
• Supports native Android, native iOS and mobile web:
– Android via uiautomator (API level >=16) and Selendroid
(API level <16)
– iOS via UI Automation
– Mobile web as Selenium driver for Android and iOS

• You can write your Appium scripts on almost any
programming language
(Haskell/Go/Clojure/Java/Ruby)
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

22
Appium: How it works?
• Appium is an HTTP server that creates and
handles WebDriver sessions
• It starts an Appium server on the device that
is listening commands from the
main Appium process
• It receives json requests from client libraries
over HTTP
• On Android Appium executes these
commands as either uiautomator or
Selendroid commands depending on the API
level of the device
• Tests are driven from a Selenium script on
Appium server

Test server

Android device

UI Automator
controller or
Selendroid driver

Bootstrap.jar

Your app

Selenium script

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

23
Appium: Test Lifecycle
1. Appium installs Bootstrap.jar as an instrumentation package
which contains an uiautomator server and a tcp server
2. The commands from a Selenium script are executed on the
main Appium server that relays the commands over TCP/IP
to the tcp server running on the device
3. The UI Automation server converts the Selenium commands
to uiautomator commands on the fly
4. If the device has API level <=17 Appium installs a Selendroid
server that converts the Selenium commands to Android
Instrumentation (JUnit) commands
5. All test verification and result processing is happening on
server side in the main Appium Server
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

24
Appium: Code Example
# wait for hello
sleep(3)
textFields = driver.find_elements_by_tag_name('textField')
assertEqual(textFields[0].get_attribute("value"), "Hello")
# click sign-in button
driver.find_elements_by_name('Sign in')[0].click()
# find the text fields again, and enter username and password
textFields = driver.find_elements_by_tag_name('textField')
textFields[0].send_keys("twitter_username")
textFields[1].send_keys("passw0rd")
# click the Login button (the first button in the view)
driver.find_elements_by_tag_name('button')[0].click()
# sleep
sleep(3)
# click the first button with name "Compose"
driver.find_elements_by_name('Compose')[0].click()
# type in the tweet message
driver.find_elements_by_tag_name('textField')[0].send_keys(”#Testdroid is awesome!")
# press the Send button
driver.find_elements_by_name('Send')[0].click()
# exit
driver.quit()

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

25

Recommended for you

Appium overview
Appium overviewAppium overview
Appium overview

The document discusses Appium, an open source test automation framework for testing native, hybrid and mobile web apps. It provides an overview of Appium and how it can be used to test both mobile web and mobile apps on Android and iOS. The document also summarizes how to set up the environment for Android automation using Appium, including writing sample scripts and discussing framework best practices. Advanced locator strategies for Appium like MobileBy, ByAccessibilityId and ByAndroidUIAutomator are also covered.

automationappiummobile-automation
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)

This document discusses automating tests for native mobile applications. It begins by describing the challenges of testing iOS applications using Apple's UI Automation and Instruments tools. It then reviews two attempted approaches for automation that were brittle and difficult to use at scale. The document advocates for using Appium, an open source test automation tool that allows controlling native and hybrid applications using the WebDriver protocol. It provides an example of using Appium to automate tests for a native iOS application and discusses the tool's benefits and limitations. In closing, it outlines opportunities to further enhance Appium's capabilities and integrations.

selenium testingautomationmobile
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver

Appium is a cross-platform solution for automating native and hybrid mobile app testing on iOS and Android using the WebDriver protocol. It allows tests to run on simulators, emulators, and real devices for both native and hybrid apps. Appium uses UIAutomation for iOS and UIAutomator or Selendroid for Android to drive tests by mapping WebDriver commands to platform-specific APIs.

software testingappiumtest automation
Espresso: Basics
•
•
•
•
•

The latest Android test automation framework from Google
A custom Instrumentation Testrunner with special privileges
Works on API levels 8 (Froyo), 10 (Gingerbread), 15-19 (IJK)
Thin layer on top of Android Instrumentation Framework
Uses the Hamcrest matcher library
https://github.com/hamcrest

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

26
Espresso: Basics 2
• Easy API for extending the framework:
– You can write new matchers: onView(myCustomMatcher<View>)
– You can write new actions: perform(myCustomAction)
– You can write new checks: check(myCustomAssertion)

• Reliable: Synchronizes with the UI thread
• It’s fast because there is no need for any sleeps (tests run on
same millisecond when the app becomes idle)
• No support for web views
• https://code.google.com/p/android-test-kit/

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

27
Espresso: Code Example
public void testEspresso() {
// Check if view with the text 'Hello.' is shown
onView(withText("Hello.")).check(matches(isDisplayed()));
// R class ID identifier for 'Sign in' - and click it
onView(withId(getInstrumentation().getTargetContext().getResources()
.getIdentifier("com.twitter.android:id/sign_in", null, null))).perform(click());
// R class ID identifier for entering username
onView(withId(getInstrumentation().getTargetContext().getResources()
.getIdentifier("com.twitter.android:id/login_username", null, null))).perform((typeText("username")));
// R class ID identifier for entering password
onView(withId(getInstrumentation().getTargetContext().getResources()
.getIdentifier("com.twitter.android:id/login_password", null, null))).perform((typeText("password")));
// R class ID identifier for clicking log in
onView(withId(getInstrumentation().getTargetContext().getResources()
.getIdentifier("com.twitter.android:id/login_login", null, null))).perform(click());
// Activate the text field to compose a tweet
onView(withId(getInstrumentation().getTargetContext().getResources()
.getIdentifier("com.twitter.android:id/menu_compose_tweet", null, null))).perform(click());
// Type the tweet
onView(withId(getInstrumentation().getTargetContext().getResources()
.getIdentifier("com.twitter.android:id/edit", null, null))).perform((typeText(”#Testdroid")));
// Tweeting!
onView(withId(getInstrumentation().getTargetContext().getResources()
.getIdentifier("com.twitter.android:id/composer_post", null, null))).perform(click());
}

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

28
Summary – Comparison Matrix
Robotium

uiautomator

Espresso

Appium

Calabash

Android

Yes

Yes

Yes

Yes

Yes

iOS

No

No

No

Yes

Yes

Mobile web

Yes

No

Yes

Yes

(Android)

Limited to x.y
clicks

(Android & iOS)

(Android)

Java

Java

Java

Almost any

Ruby

Testdroid
Recorder

UI Automator
viewer

Hierarchy
Viewer

Appium.app

CLI

Supported
API levels

All

16 =>

8, 10, 15-19

All

All

Community

Contributors

Google

Google

Active

Pretty quiet

Scripting
Language
Test creation
tools

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

29

Recommended for you

Choosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouChoosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for You

There's a shift to open-source mobile test automation tools happening today among developers and QA. Many mature technology sectors are adopting lightweight, vendor-transparent tools to fulfill the need for speed and integration. But as with many free and open-source software markets however, a plethora of tools complicates the selection process. How do you know which tool is worth spending the time to learn and integrate in your own environment? These slides aim to help you choose which open-source test automation framework to use based on a number of critical considerations.

software testingmobile test automationopen source
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017

The document discusses open source testing tools for mobile applications. It begins by explaining that mobile testing requires automating both the application and the full user environment. It then reviews five popular open source test frameworks - Selenium, Appium, Calabash, Espresso, and XCTest UI - comparing their suitability for different uses like web, native, and hybrid apps. Key criteria that organizations should consider when choosing a framework include supporting multiple frameworks, flexibility, autonomy, full end-to-end coverage, and unattended reliable testing. The document concludes with a demonstration of a test automation tool called Quantum that integrates various open source frameworks.

blazemeterappiumselenium
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing

Watch a live presentation at http://offer.bitbar.com/best-practices-for-devops-in-mobile-app-testing In essence, the core of DevOps methodology aims to speed up the app development delivery and process by getting devs and operation specialists to collaborate throughout the end-to-end app development and deployment process. Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/

android testingin-housetestdroid
Agenda
• Different Ways to Automate Your App Testing
• The Benefits and Characteristics of the Top 5
Android Test Automation Frameworks
• 10 Tips for Professional Mobile App Testing
• Testdroid Update
• Q&A

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

30
Tip #1: Test early, Test often

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

32
Tip #2: Plan What to Automate
Time

MANUAL

Infrastructure
Tools

AUTOMATED

People

Training

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

33
Tip #3: Use only Real Devices

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

34

Recommended for you

Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...

Appium is clearly the world leading framework for mobile apps test automation. Adoption of Appium is in constant rise, and for the good reasons. Yet, in many cases those who do their initial steps or even progressing with the framework realize that the world is not that simple, challenges arise, limitations are discovered and one can find himself wondering whether the right decision was taken in investing the time and money into it (yes... open source cost you money). In this talk we will pause for a while, review why Appium is an outstanding framework, while also do a reality check of the cons and pros of Appium, helping you make the best out of it, or at least have a clear understanding of what's ahead of you.

tenkodwebdriverappium
Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)

Presentation given at the T44U 2013 conference. The presentation covers the work at the University of Bristol on the Prospectus Editing Tool (PET) and the experiences of using the T4 API.

t44usitemanager apipet
Bibliographic management on mobile devices


Bibliographic management on mobile devices

Bibliographic management on mobile devices


Bibliographic management on mobile devices



The session talked about the m-biblio project (http://mbiblio.ilrt.bris.ac.uk/) which is being undertaken at the University of Bristol. The project is investigating the use of mobile devices in capturing references and looking at how it might be possible to gather useful statistics for the Library, including data about library items that are often confined to branches such as periodicals, journals and reference books. The presentation will cover a number of topics, including technical issues and findings from a workshop held with students on the challenges they face in managing references.

mbibliojiscmlibs
Tip #4: Use Atomic Test Units

Test iteration #1

Test iteration #2

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

35
Tip #5: Create Hermetic Tests

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

36
Tip #6: Use All Possible Devices

Testdroid Cloud’s 250+ Android devices
= 93-95% global Android volumes!
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

37
Tip #7: Separate Apps and Tests

Your App

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

38

Recommended for you

Bring Back the Fun to Testing Android Apps with Robolectric
Bring Back the Fun to Testing Android Apps with RobolectricBring Back the Fun to Testing Android Apps with Robolectric
Bring Back the Fun to Testing Android Apps with Robolectric

A short introduction why Robolectric will make testing more fun on Android and how to set it up in Eclipse.

androidrobolectriceclipse
The Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of ViewThe Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of View

Watch a live presentation at http://offer.bitbar.com/the-status-of-android-hardware-and-software-from-app-developers-point-of-view During the Q1’2014, we conducted a major research where we gathered and analyzed data of executed test runs at Testdroid Cloud. There were over 5.4M tests, 100K+ test cases, and 232-269 real Android devices used during three months. This webinar will focus on results, both from hardware and software point of view - and how app developers need to deal with those issues. Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/

androidios testingmobile testing
Maximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation InvestmentMaximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation Investment

Watch a live presentation at http://offer.bitbar.com/maximize-the-benefits-from-your-test-automation-investment Test automation can actually turn your development to super agile, enable you to start making revenue sooner, improve the overall quality of your applications and process. This new, superior way of development and testing can make you very cost-effective, increase significantly your developer productivity and speed up time-to-market. Stay tuned and join our upcoming webinars at http://bitbar.com/testing/webinars/

ios testingappstestdroid
Tip #8: Output Everything to Logs

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

39
Tip #9: End-to-End Testing

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

40
Tip #10: Integrate Dev & Testing
Repository

Successful
build

Commit

Users / Consumers

Build
failed

Test Cases
Application
QA & Testers

Error reporting

Source code
Developers

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

41
Agenda
• Different Ways to Automate Your App Testing
• The Benefits and Characteristics of the Top 5
Android Test Automation Frameworks
• 10 Tips for Professional Mobile App Testing
• Testdroid Update
• Q&A

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

42

Recommended for you

UIAutomator
UIAutomatorUIAutomator
UIAutomator

The UIAutomator framework allows testing of Android applications through the user interface in an automated way. It works by using the uiautomatorviewer tool to inspect app layouts and UI elements, and the uiautomator API to programmatically interact with elements and assert results. Key classes include UIDevice for device actions, UISelector for locating elements, UIObject for interacting with elements, and UIScrollable for scrolling. The document provides examples of using these classes to perform actions like clicking buttons, opening menus, and scrolling to locate elements.

Cloud testing
Cloud testingCloud testing
Cloud testing

The document discusses cloud testing and how it can be leveraged. It defines cloud computing and its services like SaaS, PaaS, and IaaS. It then discusses different types of testing that can be done in the cloud like load testing, performance testing, functional testing, etc. It provides an example of a media company that was able to use Amazon cloud services to reduce costs and latency issues. In conclusion, it states that cloud testing is well-suited for the fast-moving digital world as it allows for quick deployment and is cost-effective.

Pros & Cons: Cloud-Based Software Testing
Pros & Cons: Cloud-Based Software TestingPros & Cons: Cloud-Based Software Testing
Pros & Cons: Cloud-Based Software Testing

Want more? Visit our official blog, QALounge.com! Brought to you by QASource.com. Cloud-based software testing allows for an on-demand approach to QA. Though this flexibility can be an asset, there can also be drawbacks. In this slide deck, we review the pros and cons of testing in the cloud.

outsourced qaqa testingoffshore qa
Testdroid Products
Complete Solution for Mobile Apps/Games Testing

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

43
Testdroid
– Because it is important to know what app testing costs!

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

44
Testdroid Blog and Webinars
– Because it is important to how to automate your testing!

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

45
Agenda
• Different Ways to Automate Your App Testing
• The Benefits and Characteristics of the Top 5
Android Test Automation Frameworks
• 10 Tips for Professional Mobile App Testing
• Testdroid Update
• Q&A

© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

46

Recommended for you

Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연
Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연
Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연

2015년 9월 2일에 열린 아마존 웹서비스의 게임 개발 컨퍼런스 Gaming on AWS에서 발표된 김용우 솔루션즈 아키텍트의 강연 'AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연'의 발표자료입니다.

김용우device testaws device farm
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android Apps

The document presents a technique called GUI ripping for automatically testing Android apps. GUI ripping systematically interacts with an app's user interface to generate test cases. When applied to an Android wordpress app, GUI ripping found 14 crashes from 4 bugs, whereas random testing found only 1 of the bugs. Future work will include publishing the GUI ripping tool and experimenting with more apps and test parameters.

software testingandroidmobile
Android Test Automation Workshop
Android Test Automation WorkshopAndroid Test Automation Workshop
Android Test Automation Workshop

Support slides for the test automation workshop realized at the iMasters Android DevConference 2015 at São Paulo. The workshop focus was around Unit Tests with JUnit, UI Tests with Espresso and UIAutomator and Testing your app in the cloud with Testdroid.

androidtesting
© Copyrights by Bitbar Technologies Ltd. 2013
All rights reserved.

47

More Related Content

What's hot

Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
Pratik Patel
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How To
GlobalLogic Ukraine
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
Knoldus Inc.
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentation
Bitbar
 
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device Testing
Bitbar
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game Testing
Bitbar
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
Syam Sasi
 
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Svetlin Nakov
 
Appium solution
Appium solutionAppium solution
Appium solution
Nael Abd Eljawad
 
Android testing
Android testingAndroid testing
Android testing
Bitbar
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?
Bitbar
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
Lee Barnes
 
Appium & Jenkins
Appium & JenkinsAppium & Jenkins
Appium & Jenkins
floriankammermann
 
Automated UI Testing for Web and Native Apps on iOS and Android
Automated UI Testing for  Web and Native Apps on iOS and AndroidAutomated UI Testing for  Web and Native Apps on iOS and Android
Automated UI Testing for Web and Native Apps on iOS and Android
Operation Mobile
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?
Zado Technologies
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
TestObject - Mobile Testing
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
Vikas Thange
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
Mindfire Solutions
 
Appium overview
Appium overviewAppium overview
Appium overview
Abhishek Yadav
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)
Sauce Labs
 

What's hot (20)

Getting started with appium
Getting started with appiumGetting started with appium
Getting started with appium
 
Cross Platform Appium Tests: How To
Cross Platform Appium Tests: How ToCross Platform Appium Tests: How To
Cross Platform Appium Tests: How To
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
Fight back android fragmentation
Fight back android fragmentationFight back android fragmentation
Fight back android fragmentation
 
Hassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device TestingHassle-Free Continuous Integration with Real Device Testing
Hassle-Free Continuous Integration with Real Device Testing
 
Best Practices in Mobile Game Testing
Best Practices in Mobile Game TestingBest Practices in Mobile Game Testing
Best Practices in Mobile Game Testing
 
Appium workshop technopark trivandrum
Appium workshop technopark trivandrumAppium workshop technopark trivandrum
Appium workshop technopark trivandrum
 
Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021Appium Mobile Testing: Nakov at BurgasConf - July 2021
Appium Mobile Testing: Nakov at BurgasConf - July 2021
 
Appium solution
Appium solutionAppium solution
Appium solution
 
Android testing
Android testingAndroid testing
Android testing
 
Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?Do You Enjoy Espresso in Android App Testing?
Do You Enjoy Espresso in Android App Testing?
 
Mobile Test Automation
Mobile Test AutomationMobile Test Automation
Mobile Test Automation
 
Appium & Jenkins
Appium & JenkinsAppium & Jenkins
Appium & Jenkins
 
Automated UI Testing for Web and Native Apps on iOS and Android
Automated UI Testing for  Web and Native Apps on iOS and AndroidAutomated UI Testing for  Web and Native Apps on iOS and Android
Automated UI Testing for Web and Native Apps on iOS and Android
 
Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?Mobile automation – should I use robotium or calabash or appium?
Mobile automation – should I use robotium or calabash or appium?
 
Automated UI Testing Frameworks
Automated UI Testing FrameworksAutomated UI Testing Frameworks
Automated UI Testing Frameworks
 
Android Automation Testing with Selendroid
Android Automation Testing with SelendroidAndroid Automation Testing with Selendroid
Android Automation Testing with Selendroid
 
Android & iOS Automation Using Appium
Android & iOS Automation Using AppiumAndroid & iOS Automation Using Appium
Android & iOS Automation Using Appium
 
Appium overview
Appium overviewAppium overview
Appium overview
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)
 

Viewers also liked

Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver
Andrii Dzynia
 
Choosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouChoosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for You
Perfecto by Perforce
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017
Perfecto Mobile
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
Bitbar
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Asaf Saar
 
Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)
MrJ1971
 
Bibliographic management on mobile devices


Bibliographic management on mobile devices

Bibliographic management on mobile devices


Bibliographic management on mobile devices


MrJ1971
 
Bring Back the Fun to Testing Android Apps with Robolectric
Bring Back the Fun to Testing Android Apps with RobolectricBring Back the Fun to Testing Android Apps with Robolectric
Bring Back the Fun to Testing Android Apps with Robolectric
Peter Friese
 
The Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of ViewThe Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of View
Bitbar
 
Maximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation InvestmentMaximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation Investment
Bitbar
 
UIAutomator
UIAutomatorUIAutomator
UIAutomator
Sandip Ganguli
 
Cloud testing
Cloud testingCloud testing
Cloud testing
sachinaralikatti
 
Pros & Cons: Cloud-Based Software Testing
Pros & Cons: Cloud-Based Software TestingPros & Cons: Cloud-Based Software Testing
Pros & Cons: Cloud-Based Software Testing
QASource
 
Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시���
Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연
Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연
Amazon Web Services Korea
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android Apps
Porfirio Tramontana
 
Android Test Automation Workshop
Android Test Automation WorkshopAndroid Test Automation Workshop
Android Test Automation Workshop
Eduardo Carrara de Araujo
 
Continous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and JenkinsContinous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and Jenkins
Sylwester Madej
 
Pandora FMS: PostgreSQL Plugin
Pandora FMS: PostgreSQL PluginPandora FMS: PostgreSQL Plugin
Pandora FMS: PostgreSQL Plugin
Pandora FMS
 
A guide to Android automated testing
A guide to Android automated testingA guide to Android automated testing
A guide to Android automated testing
jotaemepereira
 

Viewers also liked (19)

Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver
 
Choosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for YouChoosing the Best Open Source Test Automation Tool for You
Choosing the Best Open Source Test Automation Tool for You
 
Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017Boston meetup blaze_meter_feb2017
Boston meetup blaze_meter_feb2017
 
Best Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App TestingBest Practices for DevOps in Mobile App Testing
Best Practices for DevOps in Mobile App Testing
 
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...Appium - Reality check on the world’s leading Open Source Framework for Mobil...
Appium - Reality check on the world’s leading Open Source Framework for Mobil...
 
Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)Prospectus Editing Tool (PET)
Prospectus Editing Tool (PET)
 
Bibliographic management on mobile devices


Bibliographic management on mobile devices

Bibliographic management on mobile devices


Bibliographic management on mobile devices


 
Bring Back the Fun to Testing Android Apps with Robolectric
Bring Back the Fun to Testing Android Apps with RobolectricBring Back the Fun to Testing Android Apps with Robolectric
Bring Back the Fun to Testing Android Apps with Robolectric
 
The Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of ViewThe Status of Android Hardware and Software - From App Developer's Point of View
The Status of Android Hardware and Software - From App Developer's Point of View
 
Maximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation InvestmentMaximize the Benefits from Your Test Automation Investment
Maximize the Benefits from Your Test Automation Investment
 
UIAutomator
UIAutomatorUIAutomator
UIAutomator
 
Cloud testing
Cloud testingCloud testing
Cloud testing
 
Pros & Cons: Cloud-Based Software Testing
Pros & Cons: Cloud-Based Software TestingPros & Cons: Cloud-Based Software Testing
Pros & Cons: Cloud-Based Software Testing
 
Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연
Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연
Gaming on AWS - 7. AWS를 통한 기기별 테스트 – AWS Device Farm 소개 및 시연
 
Using GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android AppsUsing GUI Ripping for Automated Testing of Android Apps
Using GUI Ripping for Automated Testing of Android Apps
 
Android Test Automation Workshop
Android Test Automation WorkshopAndroid Test Automation Workshop
Android Test Automation Workshop
 
Continous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and JenkinsContinous UI testing with Espresso and Jenkins
Continous UI testing with Espresso and Jenkins
 
Pandora FMS: PostgreSQL Plugin
Pandora FMS: PostgreSQL PluginPandora FMS: PostgreSQL Plugin
Pandora FMS: PostgreSQL Plugin
 
A guide to Android automated testing
A guide to Android automated testingA guide to Android automated testing
A guide to Android automated testing
 

Similar to Different Android Test Automation Frameworks - What Works You the Best?

Testdroid:
Testdroid: Testdroid:
Testdroid:
Lingkai Shao
 
Browser_Stack_Intro
Browser_Stack_IntroBrowser_Stack_Intro
Browser_Stack_Intro
Mithilesh Singh
 
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
Bitbar
 
Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
Webinar: Extend The Power of The ForgeRock Identity Platform Through ScriptingWebinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
ForgeRock
 
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid CloudTesting Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Bitbar
 
b4usolution_Appium Mobile Automation Testing Made Awesome
b4usolution_AppiumMobile Automation Testing Made Awesomeb4usolution_AppiumMobile Automation Testing Made Awesome
b4usolution_Appium Mobile Automation Testing Made Awesome
b4usolution .
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
Danny Preussler
 
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
flufftailshop
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011
sullis
 
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for AndroidDeveloper Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
FIDO Alliance
 
Getting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
Getting Started with Test Automation: Introduction to Cucumber with Lapis LazuliGetting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
Getting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
Rebecca Eloise Hogg
 
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocialIBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connections Developers
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocial
Ryan Baxter
 
codeduiws-130507074566782958-phpapp02.pdf
codeduiws-130507074566782958-phpapp02.pdfcodeduiws-130507074566782958-phpapp02.pdf
codeduiws-130507074566782958-phpapp02.pdf
Patiento Del Mar
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
Moataz Nabil
 
Advanced Coded UI Testing
Advanced Coded UI TestingAdvanced Coded UI Testing
Advanced Coded UI Testing
Shai Raiten
 
Xam expertday
Xam expertdayXam expertday
Xam expertday
Codrina Merigo
 
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
Wim Selles
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump Start
Haim Michael
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
sullis
 

Similar to Different Android Test Automation Frameworks - What Works You the Best? (20)

Testdroid:
Testdroid: Testdroid:
Testdroid:
 
Browser_Stack_Intro
Browser_Stack_IntroBrowser_Stack_Intro
Browser_Stack_Intro
 
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
 
Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
Webinar: Extend The Power of The ForgeRock Identity Platform Through ScriptingWebinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
Webinar: Extend The Power of The ForgeRock Identity Platform Through Scripting
 
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid CloudTesting Your Android and iOS Apps with Appium in Testdroid Cloud
Testing Your Android and iOS Apps with Appium in Testdroid Cloud
 
b4usolution_Appium Mobile Automation Testing Made Awesome
b4usolution_AppiumMobile Automation Testing Made Awesomeb4usolution_AppiumMobile Automation Testing Made Awesome
b4usolution_Appium Mobile Automation Testing Made Awesome
 
Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)Rockstar Android Testing (Mobile TechCon Munich 2014)
Rockstar Android Testing (Mobile TechCon Munich 2014)
 
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
A Comprehensive Guide to Conducting Test Automation Using Appium & Cucumber o...
 
Android - Open Source Bridge 2011
Android - Open Source Bridge 2011Android - Open Source Bridge 2011
Android - Open Source Bridge 2011
 
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for AndroidDeveloper Tutorial: WebAuthn for Web & FIDO2 for Android
Developer Tutorial: WebAuthn for Web & FIDO2 for Android
 
Getting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
Getting Started with Test Automation: Introduction to Cucumber with Lapis LazuliGetting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
Getting Started with Test Automation: Introduction to Cucumber with Lapis Lazuli
 
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocialIBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
IBM Connect 2014 - JMP103: Extending Your Application Arsenal With OpenSocial
 
JMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocialJMP103 : Extending Your App Arsenal With OpenSocial
JMP103 : Extending Your App Arsenal With OpenSocial
 
codeduiws-130507074566782958-phpapp02.pdf
codeduiws-130507074566782958-phpapp02.pdfcodeduiws-130507074566782958-phpapp02.pdf
codeduiws-130507074566782958-phpapp02.pdf
 
Mobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and DockerMobile UI Testing using Appium and Docker
Mobile UI Testing using Appium and Docker
 
Advanced Coded UI Testing
Advanced Coded UI TestingAdvanced Coded UI Testing
Advanced Coded UI Testing
 
Xam expertday
Xam expertdayXam expertday
Xam expertday
 
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
How React Native, Appium and me made each other shine @ContinuousDeliveryAmst...
 
Android Jump Start
Android Jump StartAndroid Jump Start
Android Jump Start
 
Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15Android 3.0 Portland Java User Group 2011-03-15
Android 3.0 Portland Java User Group 2011-03-15
 

More from Bitbar

The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
Bitbar
 
Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10
Bitbar
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
Bitbar
 
Getting Started with XCTest and XCUITest for iOS App Testing
Getting Started with XCTest and XCUITest for iOS App TestingGetting Started with XCTest and XCUITest for iOS App Testing
Getting Started with XCTest and XCUITest for iOS App Testing
Bitbar
 
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysEnsure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
Bitbar
 
The Powerful and Comprehensive API for Mobile App Development and Testing
The Powerful and Comprehensive API for Mobile App Development and TestingThe Powerful and Comprehensive API for Mobile App Development and Testing
The Powerful and Comprehensive API for Mobile App Development and Testing
Bitbar
 
Which One Works You The Best: In-House or Cloud-Based Development Environment
Which One Works You The Best: In-House or Cloud-Based Development EnvironmentWhich One Works You The Best: In-House or Cloud-Based Development Environment
Which One Works You The Best: In-House or Cloud-Based Development Environment
Bitbar
 
Build a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile AppsBuild a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile Apps
Bitbar
 
How to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS AppsHow to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS Apps
Bitbar
 

More from Bitbar (9)

The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
The Best of Both Worlds - Combining Performance and Functional Mobile App Tes...
 
Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10Mobile performance metrics and performance monitoring meetup 2017 05 10
Mobile performance metrics and performance monitoring meetup 2017 05 10
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
 
Getting Started with XCTest and XCUITest for iOS App Testing
Getting Started with XCTest and XCUITest for iOS App TestingGetting Started with XCTest and XCUITest for iOS App Testing
Getting Started with XCTest and XCUITest for iOS App Testing
 
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak DaysEnsure Your Mobile Channels Generate Revenue on Holiday Peak Days
Ensure Your Mobile Channels Generate Revenue on Holiday Peak Days
 
The Powerful and Comprehensive API for Mobile App Development and Testing
The Powerful and Comprehensive API for Mobile App Development and TestingThe Powerful and Comprehensive API for Mobile App Development and Testing
The Powerful and Comprehensive API for Mobile App Development and Testing
 
Which One Works You The Best: In-House or Cloud-Based Development Environment
Which One Works You The Best: In-House or Cloud-Based Development EnvironmentWhich One Works You The Best: In-House or Cloud-Based Development Environment
Which One Works You The Best: In-House or Cloud-Based Development Environment
 
Build a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile AppsBuild a Large Scale In-House Test Lab for Mobile Apps
Build a Large Scale In-House Test Lab for Mobile Apps
 
How to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS AppsHow to Test Security and Vulnerability of Your Android and iOS Apps
How to Test Security and Vulnerability of Your Android and iOS Apps
 

Recently uploaded

Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
Sally Laouacheria
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
UiPathCommunity
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
Mark Billinghurst
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Erasmo Purificato
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
Aurora Consulting
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Chris Swan
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
welrejdoall
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
KAMAL CHOUDHARY
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
ishalveerrandhawa1
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
Vijayananda Mohire
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
ScyllaDB
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
Stephanie Beckett
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
shanthidl1
 

Recently uploaded (20)

Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf20240702 Présentation Plateforme GenAI.pdf
20240702 Présentation Plateforme GenAI.pdf
 
UiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs ConferenceUiPath Community Day Kraków: Devs4Devs Conference
UiPath Community Day Kraków: Devs4Devs Conference
 
Research Directions for Cross Reality Interfaces
Research Directions for Cross Reality InterfacesResearch Directions for Cross Reality Interfaces
Research Directions for Cross Reality Interfaces
 
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
Paradigm Shifts in User Modeling: A Journey from Historical Foundations to Em...
 
Quality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of TimeQuality Patents: Patents That Stand the Test of Time
Quality Patents: Patents That Stand the Test of Time
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
Fluttercon 2024: Showing that you care about security - OpenSSF Scorecards fo...
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
Manual | Product | Research Presentation
Manual | Product | Research PresentationManual | Product | Research Presentation
Manual | Product | Research Presentation
 
The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
Recent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS InfrastructureRecent Advancements in the NIST-JARVIS Infrastructure
Recent Advancements in the NIST-JARVIS Infrastructure
 
Calgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptxCalgary MuleSoft Meetup APM and IDP .pptx
Calgary MuleSoft Meetup APM and IDP .pptx
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
Quantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLMQuantum Communications Q&A with Gemini LLM
Quantum Communications Q&A with Gemini LLM
 
Mitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing SystemsMitigating the Impact of State Management in Cloud Stream Processing Systems
Mitigating the Impact of State Management in Cloud Stream Processing Systems
 
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-InTrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
TrustArc Webinar - 2024 Data Privacy Trends: A Mid-Year Check-In
 
What's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptxWhat's New in Copilot for Microsoft365 May 2024.pptx
What's New in Copilot for Microsoft365 May 2024.pptx
 
Cookies program to display the information though cookie creation
Cookies program to display the information though cookie creationCookies program to display the information though cookie creation
Cookies program to display the information though cookie creation
 

Different Android Test Automation Frameworks - What Works You the Best?

  • 1. Different Android Test Automation Frameworks – What works you the best? 21 November 2013 Ville-Veikko Helppi Technical Product Manager ville-veikko.helppi@bitbar.com 1
  • 2. Agenda • Different Ways to Automate Your App Testing • The Benefits and Characteristics of the Top 5 Android Test Automation Frameworks • 10 Tips for Professional Mobile App Testing • Testdroid Update • Q&A © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 3
  • 3. Agenda • Different Ways to Automate Your App Testing • The Benefits and Characteristics of the Top 5 Android Test Automation Frameworks • 10 Tips for Professional Mobile App Testing • Testdroid Update • Q&A © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 4
  • 4. Different Approaches To Testing © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 5
  • 5. Different Ways of Doing Test Automation Hand written test scripts Record and Playback Automatic test exercisers Fast to create, accurate, not as sensitive to human-errors as hand-written tests, tools avail’ty Fastest & extremely automated, excellent for smoke testing/quick testing, availability Benefits: Accurate, specific to your testing needs, plenty of options with frameworks, tools Tradeoffs: Takes a lot of time, ties resources Compelling Recorder+Playback to write test cases/scripts, error- tools available for only few test prone (humans) automation frameworks Not accurate as real test cases © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 6
  • 6. Option #1: Cloud-Based Testing Users / Consumers Successful build Build failed Commit Repository Test Cases Application QA & Testers Error reporting Source code Developers © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 7
  • 7. Option #2: Continuous Integration Users / Consumers Successful build Build failed Commit Repository Test Cases Application QA & Testers Error reporting Source code Developers © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 8
  • 8. Manual Automation Large coverage, quick ly completed, Less money & time wasted, Exact results. Smaller coverage, More money burnt & time wasted, Error-prone © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 9
  • 9. How to Improve the App Quality • Automate generic things as much as you can • During the development your app changes – the same must apply for testing! • Carefully select (testing) technology & partner • Use all 24 hours per day with test automation • Cloud-based platform is the only solution to get you quickly covered in the global markets © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 10
  • 10. Agenda • Different Ways to Automate Your App Testing • The Benefits and Characteristics of the Top 5 Android Test Automation Frameworks • 10 Tips for Professional Mobile App Testing • Testdroid Update • Q&A © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 11
  • 11. Android Instrumentation Framework • InstrumentationTestRunner – the primary plumbing for running tests on Android • Android Instrumentation Framework is built on top of JUnit – a standard test framework on for any Java development • Mock objects – methods for creating mock system objects such as content, service and intent. © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 12
  • 12. Family Tree of Test Frameworks Calabash Appium Robotium Espresso Android Instrumentation Framework UI Automator JUnit © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 13
  • 13. Robotium: Basics • Open source library extending JUnit with plenty of useful methods for Android UI testing • Powerful and robust automatic black-box test cases for Android apps • Supports native, hybrid and mobile web testing “It’s like Selenium but for Android” • Semi-active open source community with monthly releases © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 14
  • 14. Robotium: Code Example // Public void for the operation public void testRecorded() throws Exception { // Wait for the text 'Hello!' to be shown for newbie if (solo.waitForText("Hello!")) { // R class ID identifier for 'Sign in' - and click it solo.clickOnView(solo.findViewById("com.twitter.android.R.id.sign_in")); // R class ID identifier for entering username solo.enterText((EditText) solo.findViewById("com.twitter.android.R.id.login_username"),"username"); // R class ID identifier for entering password solo.enterText((EditText) solo.findViewById("com.twitter.android.R.id.login_password"),"password"); // R class ID identifier for clicking log in solo.clickOnView(solo.findViewById("com.twitter.android.R.id.login_login")); // Wait until log in is done solo.waitForActivity("HomeTabActivity"); } // Activate the text field to compose a tweet solo.clickOnView(solo.findViewById("com.twitter.android.R.id.menu_compose_tweet")); // Type the tweet solo.enterText((EditText) solo.findViewById("com.twitter.android.R.id.edit"), "Testdroid"); // Tweeting! solo.clickOnView(solo.findViewById("com.twitter.android.R.id.composer_post")); } © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 15
  • 15. Robotium: ExtSolo - Extension Library • Includes useful methods that have not been merged to Robotium, for instance: – – – – – – Automatic scaling of x,y clicks for any resolution Multi-path drags Automatic screenshots on test failure Mock locations Change device language Control WiFi connection • You can download the library at http://testdroid.com/products/apis-plugins-and-libraries © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 16
  • 16. Calabash: Basics • Behavior driven test framework for native Android, native iOS and mobile web • Tests are described in Cucumber and then converted to Robotium or Frank in run time • Supports currently about 80 different natural language commands (controllers). New controllers can be implemented in Ruby or Java • If your app uses custom UI Widgets you have to create controllers for those in order to test your app • Calabash tools include a command line inspector for finding right UI element names/ids © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 17
  • 17. Calabash: Architecture • Calabash installs an HTTP server as an instrumentation package that listens commands from Calabash server • Tests are executed on server side • Each test scenario is described in Cucumber • Ruby Client library converts Cucumber commands to either Robotium or Frank method calls • Webview support is implemented with Javascript injection to the Webview Test server Android device Step definitions, Ruby client library Calabash HTTP server © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. Your app Features 18
  • 18. Calabash: Code Example Feature: Login feature Scenario: As a valid user I can log into my app I wait for text "Hello" Then I press view with id "Sign in" Then I enter text "username" into "login_username" Then I enter text "password" into "login_password" Then I wait for activity "HomeTabActivity" Then I press view with id "menu_compose_tweet" Then I enter text "Testdroid" into field with id "edit" Then I press view with id "composer_post" © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 19
  • 19. uiautomator: Basics • Google’s test framework for testing native Android apps across device • Works only on Android API level >=16 • Runs JUnit test cases with special privileges (test cases can span across different processes) • No support for web view (only handle to web view elements as canvas object) © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 20
  • 20. uiautomator: Code Example // Public void for the operation public void testSignInAndTweet() throws Exception { // Starting application: getUiDevice().wakeUp(); // Press Home button to ensure we're on homescreen getUiDevice().pressHome(); // Select 'Apps' and click button new UiObject(new UiSelector().description("Apps")).click(); // Select 'Twitter' and click new UiObject(new UiSelector().text("Twitter")).click(); // Locate and select 'Sign in' UiSelector signIn = new UiSelector().text("Sign In"); // If button is available, click UiObject signInButton = new UiObject(signIn); if (signInButton.exists()) { signInButton.click(); // Set the username new UiObject(new UiSelector().className("android.widget.EditText").instance(0)).setText("username"); new UiObject(new UiSelector().className("android.widget.EditText").instance(1)).setText("password"); new UiObject(new UiSelector().className("android.widget.Button"). text("Sign In").instance(0)).click(); // Wait Sign in progress window getUiDevice().waitForWindowUpdate(null, 2000); // Wait for main window getUiDevice().waitForWindowUpdate(null, 30000); } new UiObject(new UiSelector().description("New tweet")).click(); // Typing text for a tweet new UiObject(new UiSelector().className("android.widget.LinearLayout").instance(8)). setText("Awesome #Testdroid!"); // Tweeting! new UiObject(new UiSelector().text("Tweet")).click(); } © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 21
  • 21. Appium: Basics • Uses Selenium Webdriver (W3C standard) as a scripting framework • Supports native Android, native iOS and mobile web: – Android via uiautomator (API level >=16) and Selendroid (API level <16) – iOS via UI Automation – Mobile web as Selenium driver for Android and iOS • You can write your Appium scripts on almost any programming language (Haskell/Go/Clojure/Java/Ruby) © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 22
  • 22. Appium: How it works? • Appium is an HTTP server that creates and handles WebDriver sessions • It starts an Appium server on the device that is listening commands from the main Appium process • It receives json requests from client libraries over HTTP • On Android Appium executes these commands as either uiautomator or Selendroid commands depending on the API level of the device • Tests are driven from a Selenium script on Appium server Test server Android device UI Automator controller or Selendroid driver Bootstrap.jar Your app Selenium script © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 23
  • 23. Appium: Test Lifecycle 1. Appium installs Bootstrap.jar as an instrumentation package which contains an uiautomator server and a tcp server 2. The commands from a Selenium script are executed on the main Appium server that relays the commands over TCP/IP to the tcp server running on the device 3. The UI Automation server converts the Selenium commands to uiautomator commands on the fly 4. If the device has API level <=17 Appium installs a Selendroid server that converts the Selenium commands to Android Instrumentation (JUnit) commands 5. All test verification and result processing is happening on server side in the main Appium Server © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 24
  • 24. Appium: Code Example # wait for hello sleep(3) textFields = driver.find_elements_by_tag_name('textField') assertEqual(textFields[0].get_attribute("value"), "Hello") # click sign-in button driver.find_elements_by_name('Sign in')[0].click() # find the text fields again, and enter username and password textFields = driver.find_elements_by_tag_name('textField') textFields[0].send_keys("twitter_username") textFields[1].send_keys("passw0rd") # click the Login button (the first button in the view) driver.find_elements_by_tag_name('button')[0].click() # sleep sleep(3) # click the first button with name "Compose" driver.find_elements_by_name('Compose')[0].click() # type in the tweet message driver.find_elements_by_tag_name('textField')[0].send_keys(”#Testdroid is awesome!") # press the Send button driver.find_elements_by_name('Send')[0].click() # exit driver.quit() © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 25
  • 25. Espresso: Basics • • • • • The latest Android test automation framework from Google A custom Instrumentation Testrunner with special privileges Works on API levels 8 (Froyo), 10 (Gingerbread), 15-19 (IJK) Thin layer on top of Android Instrumentation Framework Uses the Hamcrest matcher library https://github.com/hamcrest © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 26
  • 26. Espresso: Basics 2 • Easy API for extending the framework: – You can write new matchers: onView(myCustomMatcher<View>) – You can write new actions: perform(myCustomAction) – You can write new checks: check(myCustomAssertion) • Reliable: Synchronizes with the UI thread • It’s fast because there is no need for any sleeps (tests run on same millisecond when the app becomes idle) • No support for web views • https://code.google.com/p/android-test-kit/ © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 27
  • 27. Espresso: Code Example public void testEspresso() { // Check if view with the text 'Hello.' is shown onView(withText("Hello.")).check(matches(isDisplayed())); // R class ID identifier for 'Sign in' - and click it onView(withId(getInstrumentation().getTargetContext().getResources() .getIdentifier("com.twitter.android:id/sign_in", null, null))).perform(click()); // R class ID identifier for entering username onView(withId(getInstrumentation().getTargetContext().getResources() .getIdentifier("com.twitter.android:id/login_username", null, null))).perform((typeText("username"))); // R class ID identifier for entering password onView(withId(getInstrumentation().getTargetContext().getResources() .getIdentifier("com.twitter.android:id/login_password", null, null))).perform((typeText("password"))); // R class ID identifier for clicking log in onView(withId(getInstrumentation().getTargetContext().getResources() .getIdentifier("com.twitter.android:id/login_login", null, null))).perform(click()); // Activate the text field to compose a tweet onView(withId(getInstrumentation().getTargetContext().getResources() .getIdentifier("com.twitter.android:id/menu_compose_tweet", null, null))).perform(click()); // Type the tweet onView(withId(getInstrumentation().getTargetContext().getResources() .getIdentifier("com.twitter.android:id/edit", null, null))).perform((typeText(”#Testdroid"))); // Tweeting! onView(withId(getInstrumentation().getTargetContext().getResources() .getIdentifier("com.twitter.android:id/composer_post", null, null))).perform(click()); } © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 28
  • 28. Summary – Comparison Matrix Robotium uiautomator Espresso Appium Calabash Android Yes Yes Yes Yes Yes iOS No No No Yes Yes Mobile web Yes No Yes Yes (Android) Limited to x.y clicks (Android & iOS) (Android) Java Java Java Almost any Ruby Testdroid Recorder UI Automator viewer Hierarchy Viewer Appium.app CLI Supported API levels All 16 => 8, 10, 15-19 All All Community Contributors Google Google Active Pretty quiet Scripting Language Test creation tools © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 29
  • 29. Agenda • Different Ways to Automate Your App Testing • The Benefits and Characteristics of the Top 5 Android Test Automation Frameworks • 10 Tips for Professional Mobile App Testing • Testdroid Update • Q&A © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 30
  • 30. Tip #1: Test early, Test often © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 32
  • 31. Tip #2: Plan What to Automate Time MANUAL Infrastructure Tools AUTOMATED People Training © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 33
  • 32. Tip #3: Use only Real Devices © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 34
  • 33. Tip #4: Use Atomic Test Units Test iteration #1 Test iteration #2 © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 35
  • 34. Tip #5: Create Hermetic Tests © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 36
  • 35. Tip #6: Use All Possible Devices Testdroid Cloud’s 250+ Android devices = 93-95% global Android volumes! © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 37
  • 36. Tip #7: Separate Apps and Tests Your App © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 38
  • 37. Tip #8: Output Everything to Logs © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 39
  • 38. Tip #9: End-to-End Testing © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 40
  • 39. Tip #10: Integrate Dev & Testing Repository Successful build Commit Users / Consumers Build failed Test Cases Application QA & Testers Error reporting Source code Developers © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 41
  • 40. Agenda • Different Ways to Automate Your App Testing • The Benefits and Characteristics of the Top 5 Android Test Automation Frameworks • 10 Tips for Professional Mobile App Testing • Testdroid Update • Q&A © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 42
  • 41. Testdroid Products Complete Solution for Mobile Apps/Games Testing © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 43
  • 42. Testdroid – Because it is important to know what app testing costs! © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 44
  • 43. Testdroid Blog and Webinars – Because it is important to how to automate your testing! © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 45
  • 44. Agenda • Different Ways to Automate Your App Testing • The Benefits and Characteristics of the Top 5 Android Test Automation Frameworks • 10 Tips for Professional Mobile App Testing • Testdroid Update • Q&A © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 46
  • 45. © Copyrights by Bitbar Technologies Ltd. 2013 All rights reserved. 47