SlideShare a Scribd company logo
© 2014 Maveryx srl.
All rights reserved.
Testing Android Applications
with Maveryx
What is Maveryx
Why Maveryx
Step-by-Step guide to test an Android
app using Maveryx
Overview
© 2014 Maveryx srl.
All rights reserved.
What is Maveryx
Maveryx is a professional, award-winning test automation tool for
functional and regression testing of Java™ & Android™ applications.
Maveryx provides testers with automated testing capabilities for
functional, regression, GUI, data-driven and keyword-driven testing.
Maveryx
No GUI Maps ⇒ Runtime GUI
Inspection tool
Intelligent UI Objects Recognition
Code-free Keyword-driven Testing
Data-driven testing
Assertion-based Verification
Points
Extension plugin mechanism
Suitable for Java™ and Android™
Standard Test Logging
Built on Java™ and JUnit (the
Android Test Framework)
Test Data Generation Tool
Advanced Test API
Available as Android ADT plugin
…
Features
© 2014 Maveryx srl.
All rights reserved.
Tests can be executed on Android Virtual Devices (AVDs) or Real Devices
⇒ No Rooting!
devices connected to the local PC [via USB cable or Wi-Fi]
devices connected remotely to a mobile device lab
Support for all versions of Android
Support for almost all UI Elements
Full & complete integration into
Android ADT
…
© 2014 Maveryx srl.
All rights reserved.
NO ROOTING!
On Emulators and Real Devices
© 2014 Maveryx srl.
All rights reserved.
Why Maveryx?
No UI Maps. No Recording.
No recording. No capture. No UI
Maps.
o NO UI MAPS or Object Repositories to ‘learn’ & maintain
o No pre-recording or UI capture
o Test scripts immediately executable!
o Automatic UI inspection directly at runtime
o “Classical” to Fuzzy matching algorithms to unambiguously
recognize and locate UI objects directly at runtime during test
execution
o Automatically accommodate UI changes without modifying the tests
o “Geolocation” of objects in the User Interface (TOP, BOTTOM, LEFT, RIGHT …)
Unique object identification
© 2014 Maveryx srl.
All rights reserved.
TOP
BOTTOM
L
E
F
T
R
I
G
H
T
CENTER
o Code-free Keyword-driven Testing
o Keyword testing driven from Excel™ sheets and XML files
o No coding required ⇒ short time to implement
o Data-driven testing
o Dedicated scripting API for data-driven testing
o Varying set of data sources : Excel™ sheets , CSV & XML files
Testing Methodology
© 2014 Maveryx srl.
All rights reserved.
o Standard Test Logging and Reporting
o XML ⇒ HTML test reports
o ASCII test logs
o Automated capturing of screenshots on test failures
o Test Execution Metrics
Test Logging
© 2014 Maveryx srl.
All rights reserved.
© 2014 Maveryx srl.
All rights reserved.
One script for all applications
Maveryx allows to create automated tests
that can be run without modification against
any Android apps, as well as Java desktop
applications on all platforms.
© 2014 Maveryx srl.
All rights reserved.
Testing an Android Application
Step-by-Step
The ADT Plugin
Maveryx
PerspectiveJUnit integration Action buttons Report / Metrics
View
The Application-under-test
You can download the ApiDemos project package at:
https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/
Import the Application-Under-Test
1. In Eclipse ADT, chose File → Import… to import
the Existing Android Code Into Workspace and
select the root folder of the unpacked project
To test an Android application using Maveryx :
1. Import the Application Under Test
2. Create the Runner Project
3. Create a Maveryx Test Project
The ADT may throws the error “Unable to resolve target ‘android-XX'”.
Open project.properties file present under the project folder and update the
target version.
Create the Runner Project (1)
1. In Eclipse, select File → New → Other…
2. In the Select a Wizard dialog, expand Android
and select Android Test Project.
3. Click Next.
4. In the New Android Test Project wizard, enter a
Name for the test project and click Next
To test an Android application using Maveryx :
1. Import the Application Under Test
2. Create the Runner Project
3. Create a Maveryx Test Project
Create the Runner Project (2)
1. In the Select Test Target panel, set An
Existing Android Project.
2. Select the Android application under test.
3. In the Build Target panel, select the Android
SDK platform.
4. Click Next and then Finish.
To test an Android application using Maveryx :
1. Import the Application Under Test
2. Create the Runner Project
3. Create a Maveryx Test Project
Configure the Runner Project (1)
1. In the Package Explorer, right click on the
project and select Build Path → Configure
Build Path...
2. In the Libraries tab, in the Properties panel,
click on Add External JARs... and add the
following jars :
a. bootstrapForAndroid.jar
b. factory.jar
c. jdom.jar
To test an Android application using Maveryx :
1. Import the Application Under Test
2. Create the Runner Project
3. Create a Maveryx Test Project
Configure the Runner Project (2)
1. In the Order and Export tab select the
following jars:
a. bootstrapForAndroid.jar
b. factory.jar
c. jdom.jar
To test an Android application using Maveryx :
1. Import the Application Under Test
2. Create the Runner Project
3. Create a Maveryx Test Project
Create the Runner Class (1)
1. In Eclipse, select File → New → Class
2. In the New Java Class dialog, enter a name
for this class: “Runner”.
To test an Android application using Maveryx :
1. Import the Application Under Test
2. Create the Runner Project
3. Create a Maveryx Test Project
Create the Runner Class (2)
Import the package containing the main
activity of the application-under-test.
The main activity (class) of the application-
under-test.
Create a New Test Project
1. Select File → New → Maveryx Test Project
In the Maveryx Test Project window
1. enter the Project name
2. in the JRE section make sure that Java/JRE
6 or higher is selected
To test an Android application using Maveryx :
1. Import the Application Under Test
2. Create the Runner Project
3. Create a Maveryx Test Project
Create a New Test Script
1. Select File → New → Maveryx Test Class
In the Maveryx Test Class window
1. enter a name for the Package
2. enter a Name for the test class / script
To test an Android application using Maveryx :
1. Import the Application Under Test
2. Create the Runner Project
3. Create a Maveryx Test Project
Create the Launch file
To execute the application-under-test it
is necessary to create the related
launch file (⇒ XML file).
Create a launch file as the one in figure
by changing:
1. the Android ADB path
2. the Working Directory
3. the JRE path
The Test Case
Test Case #001
1. Connect to the application-under-test
2. Select the item "Views"
3. Select the item "Controls"
4. Select the item "1. Light Theme"
5. Insert a text into the text field
6. Check that the text is set
7. Click the "Checkbox 1"
8. Check that the "Checkbox 1" is selected
9. Click the "Radiobutton 1"
10.Check that the "Radiobutton 1" is selected
11.Return to the "Controls" items
12.Close the application-under-test
Test Case #001
1. Connect to the application-under-test
2. Select the item "Views"
3. Select the item "Controls"
4. Select the item "1. Light Theme"
5. Insert a text into the text field
6. Check that the text is set
7. Click the "Checkbox 1"
8. Check that the "Checkbox 1" is selected
9. Click the "Radiobutton 1"
10. Check that the "Radiobutton 1" is selected
11. Return to the items in "Controls"
12. Close the application-under-test
Connect to the application
Connect to the application
The static method connect(ApplicationPathName,
ConfigFilePath) in class Bootstrap allows to connect
to the application-under-test
Working with lists
Test Case #001
1. Connect to the application-under-test
2. Select the item "Views"
3. Select the item "Controls"
4. Select the item "1. Light Theme"
5. Insert a text into the text field
6. Check that the text is set
7. Click the "Checkbox 1"
8. Check that the "Checkbox 1" is selected
9. Click the "Radiobutton 1"
10. Check that the "Radiobutton 1" is selected
11. Return to the items in "Controls"
12. Close the application-under-test
Working with lists
1. Create a new GuiList object
2. Scroll down the list
3. Create a new GuiLabel object specifying
the text
4. Click the label
Working with text fields
Test Case #001
1. Connect to the application-under-test
2. Select the item "Views"
3. Select the item "Controls"
4. Select the item "1. Light Theme"
5. Insert a text into the text field
6. Check that the text is set
7. Click the "Checkbox 1"
8. Check that the "Checkbox 1" is selected
9. Click the "Radiobutton 1"
10. Check that the "Radiobutton 1" is selected
11. Return to the items in "Controls"
12. Close the application-under-test
Working with text fields
1. Create a new GuiText object
2. Type the text
3. Verification Point : check that the text is
set correctly
Working with check boxes
Test Case #001
1. Connect to the application-under-test
2. Select the item "Views"
3. Select the item "Controls"
4. Select the item "1. Light Theme"
5. Insert a text into the text field
6. Check that the text is set
7. Click the "Checkbox 1"
8. Check that the "Checkbox 1" is selected
9. Click the "Radiobutton 1"
10. Check that the "Radiobutton 1" is selected
11. Return to the items in "Controls"
12. Close the application-under-test
Working with check boxes
1. Create a new GuiCheckBox object
specifying the caption
2. Click the check box
3. Verification Point : check that the check
box is selected
Working with radio buttons
Test Case #001
1. Connect to the application-under-test
2. Select the item "Views"
3. Select the item "Controls"
4. Select the item "1. Light Theme"
5. Insert a text into the text field
6. Check that the text is set
7. Click the "Checkbox 1"
8. Check that the "Checkbox 1" is selected
9. Click the "Radiobutton 1"
10. Check that the "Radiobutton 1" is selected
11. Return to the items in "Controls"
12. Close the application-under-test
Working with radio buttons
1. Create a new GuiRadioButton object
specifying the caption
2. Click the radio button
3. Verification Point : check that the radio
button is selected
Working with device buttons
Test Case #001
1. Connect to the application-under-test
2. Select the item "Views"
3. Select the item "Controls"
4. Select the item "1. Light Theme"
5. Insert a text into the text field
6. Check that the text is set
7. Click the "Checkbox 1"
8. Check that the "Checkbox 1" is selected
9. Click the "Radiobutton 1"
10. Check that the "Radiobutton 1" is selected
11. Return to the items in "Controls"
12. Close the application-under-test
Working with device buttons
1. Click the Back button
2. Click the Home button
Close the application
Test Case #001
1. Connect to the application-under-test
2. Select the item "Views"
3. Select the item "Controls"
4. Select the item "1. Light Theme"
5. Insert a text into the text field
6. Check that the text has entered
7. Click the "Checkbox 1"
8. Check that the "Checkbox 1" is selected
9. Click the "Radiobutton 1"
10. Check that the "Radiobutton 1" is selected
11. Return to the items in "Controls"
12. Close the application-under-test
Test Case #001
Launch the application (1)
1. Select the Runner class
2. Select Run As → Android JUnit Test
Launch the application (2)
Run the Test Script
1. Select Run As... → JUnit Test
2. Select the Eclipse JUnit Launcher
View the Test Results
1. Test Results
2. Test Metrics
3. Test Console
Log
The Test Report
Lesson Learned
o NO UI MAPS needed to create and run the tests
o No pre-recording or UI capture required
o Test scripts can be created in parallel with software development
o Test scripts immediately executable (as soon as application is available)
o No Rooting required
o Integrated into the Android ADT
Useful Links
o Maveryx – http://www.maveryx.com
o User guide – http://www.maveryx.com/en/support/learn-
more/user-documentation.html
o Forum – http://www.maveryx.com/en/forum/index.html
o Training – http://www.maveryx.com/en/services/training.html
Thank You!
• www.maveryx.com
• sales@maveryx.com
• info@maveryx.com

More Related Content

What's hot (20)

PDF
Unit Testing
Scott Leberknight
 
PPSX
Test Complete
RomSoft SRL
 
PPT
QTP Training by INFOTECH
Pravinsinh
 
ODP
Embrace Unit Testing
alessiopace
 
PDF
Unit Testing 101
Dave Bouwman
 
PPT
Keyword Driven Testing using TestComplete
srivinayak
 
PPTX
Unit testing and test driven development using vs
Abhimanyu Singhal
 
PPTX
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Thomas Weller
 
PPTX
Unit testing, UI testing and Test Driven Development in Visual Studio 2012
Jacinto Limjap
 
PPT
Testing and Mocking Object - The Art of Mocking.
Deepak Singhvi
 
DOCX
Realtime selenium interview questions
Kuldeep Pawar
 
PPTX
Unit tests and TDD
Roman Okolovich
 
PPTX
.Net Unit Testing with Visual Studio 2010
kgayda
 
PPT
Unit testing php-unit - phing - selenium_v2
Tricode (part of Dept)
 
DOCX
Selenium interview-questions-freshers
Naga Mani
 
PPTX
Refactoring Legacy Web Forms for Test Automation
Stephen Fuqua
 
PDF
Software Testing
AdroitLogic
 
PPTX
Presentation
Igor Vlahek
 
PDF
Workshop unit test
Francesco Garavaglia
 
Unit Testing
Scott Leberknight
 
Test Complete
RomSoft SRL
 
QTP Training by INFOTECH
Pravinsinh
 
Embrace Unit Testing
alessiopace
 
Unit Testing 101
Dave Bouwman
 
Keyword Driven Testing using TestComplete
srivinayak
 
Unit testing and test driven development using vs
Abhimanyu Singhal
 
Introduction to testing with MSTest, Visual Studio, and Team Foundation Serve...
Thomas Weller
 
Unit testing, UI testing and Test Driven Development in Visual Studio 2012
Jacinto Limjap
 
Testing and Mocking Object - The Art of Mocking.
Deepak Singhvi
 
Realtime selenium interview questions
Kuldeep Pawar
 
Unit tests and TDD
Roman Okolovich
 
.Net Unit Testing with Visual Studio 2010
kgayda
 
Unit testing php-unit - phing - selenium_v2
Tricode (part of Dept)
 
Selenium interview-questions-freshers
Naga Mani
 
Refactoring Legacy Web Forms for Test Automation
Stephen Fuqua
 
Software Testing
AdroitLogic
 
Presentation
Igor Vlahek
 
Workshop unit test
Francesco Garavaglia
 

Viewers also liked (20)

PDF
Application Testing Suite
oracleonthebrain
 
PPTX
Unit Testing Android Applications
Rody Middelkoop
 
PDF
Introduction to android testing - oscon 2012
OSCON Byrum
 
PPTX
Android Performance Tips & Tricks
Sergii Zhuk
 
PPTX
Testing for Android: When, Where, and How to Successfully Use Test Automation
Trent Peterson
 
PPTX
Testing Android Application, Droidcon Torino
Pietro Alberto Rossi
 
PDF
Android Testing: An Overview
SmartLogic
 
PDF
Android Building, Testing and reversing
Enrique López Mañas
 
PDF
Unit Testing on Android: why and how? DevFest Romania, Bucharest 2016
Danny Preussler
 
PDF
Inside Android Testing
Fernando Cejas
 
PDF
Android Testing, Why So Hard?!
Annyce Davis
 
PDF
Android testing
Antonio López Marín
 
PDF
Testing Android
Marc Chung
 
PDF
Testing With Open Source
Matthias Käppler
 
PDF
Unit testing in android
Li-Wei Cheng
 
PDF
Unit testing on Android (Droidcon Dubai 2015)
Danny Preussler
 
PDF
Unit testing and Android
Tomáš Kypta
 
PDF
Mobile Performance Testing - Best Practices
Eran Kinsbrunner
 
PPTX
Rapid Android Application Security Testing
Nutan Kumar Panda
 
PDF
Oh so you test? - A guide to testing on Android from Unit to Mutation
Paul Blundell
 
Application Testing Suite
oracleonthebrain
 
Unit Testing Android Applications
Rody Middelkoop
 
Introduction to android testing - oscon 2012
OSCON Byrum
 
Android Performance Tips & Tricks
Sergii Zhuk
 
Testing for Android: When, Where, and How to Successfully Use Test Automation
Trent Peterson
 
Testing Android Application, Droidcon Torino
Pietro Alberto Rossi
 
Android Testing: An Overview
SmartLogic
 
Android Building, Testing and reversing
Enrique López Mañas
 
Unit Testing on Android: why and how? DevFest Romania, Bucharest 2016
Danny Preussler
 
Inside Android Testing
Fernando Cejas
 
Android Testing, Why So Hard?!
Annyce Davis
 
Android testing
Antonio López Marín
 
Testing Android
Marc Chung
 
Testing With Open Source
Matthias Käppler
 
Unit testing in android
Li-Wei Cheng
 
Unit testing on Android (Droidcon Dubai 2015)
Danny Preussler
 
Unit testing and Android
Tomáš Kypta
 
Mobile Performance Testing - Best Practices
Eran Kinsbrunner
 
Rapid Android Application Security Testing
Nutan Kumar Panda
 
Oh so you test? - A guide to testing on Android from Unit to Mutation
Paul Blundell
 
Ad

Similar to Testing Android applications with Maveryx (20)

PDF
Stf 2019 workshop - enhanced test automation for web and desktop apps
Maveryx
 
PDF
Codeless Web testing: a keyword-driven example with Excel
Maveryx
 
PDF
User Interface Testing. What is UI Testing and Why it is so important?
Maveryx
 
PDF
2011 py con
Eing Ong
 
PDF
[CCDD2013w] Coming to grips with deving for android by 蔡亦恒
CCDD_DDLab
 
PDF
Keywords-driven testing vs Scripted automation
Maveryx
 
ODP
Alexandre.iline rit 2010 java_fxui_extra
rit2010
 
PDF
ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...
Kevin Moran
 
PDF
2012 java one-con3648
Eing Ong
 
PDF
Maveryx presentation
Maveryx
 
ODP
Alexandre Iline Rit 2010 Java Fxui
rit2010
 
ODP
Alexandre Iline Rit 2010 Java Fxui
guest092df8
 
PPTX
Android studio&Gradle&Autotest
毅 方
 
PPTX
Instrumentation 101
Apkudo
 
PPT
Testing
vamshi batchu
 
PDF
Automating JFC UI application testing with Jemmy
SPB SQA Group
 
PDF
2012 mobile testingsummit-moet
Eing Ong
 
PDF
Fight back android fragmentation
Bitbar
 
DOCX
Mobile testingartifacts
Pragya Rastogi
 
PPTX
J unit android
Matthew Porter
 
Stf 2019 workshop - enhanced test automation for web and desktop apps
Maveryx
 
Codeless Web testing: a keyword-driven example with Excel
Maveryx
 
User Interface Testing. What is UI Testing and Why it is so important?
Maveryx
 
2011 py con
Eing Ong
 
[CCDD2013w] Coming to grips with deving for android by 蔡亦恒
CCDD_DDLab
 
Keywords-driven testing vs Scripted automation
Maveryx
 
Alexandre.iline rit 2010 java_fxui_extra
rit2010
 
ICSE17Tech Briefing - Automated GUI Testing of Android Apps: From Research to...
Kevin Moran
 
2012 java one-con3648
Eing Ong
 
Maveryx presentation
Maveryx
 
Alexandre Iline Rit 2010 Java Fxui
rit2010
 
Alexandre Iline Rit 2010 Java Fxui
guest092df8
 
Android studio&Gradle&Autotest
毅 方
 
Instrumentation 101
Apkudo
 
Testing
vamshi batchu
 
Automating JFC UI application testing with Jemmy
SPB SQA Group
 
2012 mobile testingsummit-moet
Eing Ong
 
Fight back android fragmentation
Bitbar
 
Mobile testingartifacts
Pragya Rastogi
 
J unit android
Matthew Porter
 
Ad

Recently uploaded (20)

PDF
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
PDF
How AI in Healthcare Apps Can Help You Enhance Patient Care?
Lilly Gracia
 
PPTX
API DOCUMENTATION | API INTEGRATION PLATFORM
philipnathen82
 
PDF
Odoo Customization Services by CandidRoot Solutions
CandidRoot Solutions Private Limited
 
PDF
Code and No-Code Journeys: The Maintenance Shortcut
Applitools
 
PDF
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
PPTX
Odoo Migration Services by CandidRoot Solutions
CandidRoot Solutions Private Limited
 
PDF
Notification System for Construction Logistics Application
Safe Software
 
PPTX
TexSender Pro 8.9.1 Crack Full Version Download
cracked shares
 
PDF
chapter 5.pdf cyber security and Internet of things
PalakSharma980227
 
PPTX
prodad heroglyph crack 2.0.214.2 Full Free Download
cracked shares
 
PDF
Troubleshooting Virtual Threads in Java!
Tier1 app
 
PDF
Message Level Status (MLS): The Instant Feedback Mechanism for UAE e-Invoicin...
Prachi Desai
 
PDF
How to get the licensing right for Microsoft Core Infrastructure Server Suite...
Q-Advise
 
PDF
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
PPTX
MiniTool Partition Wizard Crack 12.8 + Serial Key Download Latest [2025]
filmoracrack9001
 
PDF
Top 10 AI Use Cases Every Business Should Know.pdf
nicogonzalez1075
 
PDF
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
PPTX
PCC IT Forum 2025 - Legislative Technology Snapshot
Gareth Oakes
 
PPTX
Processing with Claim Management Automation Solutions
Insurance Tech Services
 
Supabase Meetup: Build in a weekend, scale to millions
Carlo Gilmar Padilla Santana
 
How AI in Healthcare Apps Can Help You Enhance Patient Care?
Lilly Gracia
 
API DOCUMENTATION | API INTEGRATION PLATFORM
philipnathen82
 
Odoo Customization Services by CandidRoot Solutions
CandidRoot Solutions Private Limited
 
Code and No-Code Journeys: The Maintenance Shortcut
Applitools
 
Meet in the Middle: Solving the Low-Latency Challenge for Agentic AI
Alluxio, Inc.
 
Odoo Migration Services by CandidRoot Solutions
CandidRoot Solutions Private Limited
 
Notification System for Construction Logistics Application
Safe Software
 
TexSender Pro 8.9.1 Crack Full Version Download
cracked shares
 
chapter 5.pdf cyber security and Internet of things
PalakSharma980227
 
prodad heroglyph crack 2.0.214.2 Full Free Download
cracked shares
 
Troubleshooting Virtual Threads in Java!
Tier1 app
 
Message Level Status (MLS): The Instant Feedback Mechanism for UAE e-Invoicin...
Prachi Desai
 
How to get the licensing right for Microsoft Core Infrastructure Server Suite...
Q-Advise
 
Enhancing Security in VAST: Towards Static Vulnerability Scanning
ESUG
 
MiniTool Partition Wizard Crack 12.8 + Serial Key Download Latest [2025]
filmoracrack9001
 
Top 10 AI Use Cases Every Business Should Know.pdf
nicogonzalez1075
 
AI Image Enhancer: Revolutionizing Visual Quality”
docmasoom
 
PCC IT Forum 2025 - Legislative Technology Snapshot
Gareth Oakes
 
Processing with Claim Management Automation Solutions
Insurance Tech Services
 

Testing Android applications with Maveryx

  • 1. © 2014 Maveryx srl. All rights reserved. Testing Android Applications with Maveryx
  • 2. What is Maveryx Why Maveryx Step-by-Step guide to test an Android app using Maveryx Overview
  • 3. © 2014 Maveryx srl. All rights reserved. What is Maveryx
  • 4. Maveryx is a professional, award-winning test automation tool for functional and regression testing of Java™ & Android™ applications. Maveryx provides testers with automated testing capabilities for functional, regression, GUI, data-driven and keyword-driven testing. Maveryx
  • 5. No GUI Maps ⇒ Runtime GUI Inspection tool Intelligent UI Objects Recognition Code-free Keyword-driven Testing Data-driven testing Assertion-based Verification Points Extension plugin mechanism Suitable for Java™ and Android™ Standard Test Logging Built on Java™ and JUnit (the Android Test Framework) Test Data Generation Tool Advanced Test API Available as Android ADT plugin … Features © 2014 Maveryx srl. All rights reserved.
  • 6. Tests can be executed on Android Virtual Devices (AVDs) or Real Devices ⇒ No Rooting! devices connected to the local PC [via USB cable or Wi-Fi] devices connected remotely to a mobile device lab Support for all versions of Android Support for almost all UI Elements Full & complete integration into Android ADT … © 2014 Maveryx srl. All rights reserved. NO ROOTING! On Emulators and Real Devices
  • 7. © 2014 Maveryx srl. All rights reserved. Why Maveryx?
  • 8. No UI Maps. No Recording. No recording. No capture. No UI Maps. o NO UI MAPS or Object Repositories to ‘learn’ & maintain o No pre-recording or UI capture o Test scripts immediately executable! o Automatic UI inspection directly at runtime
  • 9. o “Classical” to Fuzzy matching algorithms to unambiguously recognize and locate UI objects directly at runtime during test execution o Automatically accommodate UI changes without modifying the tests o “Geolocation” of objects in the User Interface (TOP, BOTTOM, LEFT, RIGHT …) Unique object identification © 2014 Maveryx srl. All rights reserved. TOP BOTTOM L E F T R I G H T CENTER
  • 10. o Code-free Keyword-driven Testing o Keyword testing driven from Excel™ sheets and XML files o No coding required ⇒ short time to implement o Data-driven testing o Dedicated scripting API for data-driven testing o Varying set of data sources : Excel™ sheets , CSV & XML files Testing Methodology © 2014 Maveryx srl. All rights reserved.
  • 11. o Standard Test Logging and Reporting o XML ⇒ HTML test reports o ASCII test logs o Automated capturing of screenshots on test failures o Test Execution Metrics Test Logging © 2014 Maveryx srl. All rights reserved.
  • 12. © 2014 Maveryx srl. All rights reserved. One script for all applications Maveryx allows to create automated tests that can be run without modification against any Android apps, as well as Java desktop applications on all platforms.
  • 13. © 2014 Maveryx srl. All rights reserved. Testing an Android Application Step-by-Step
  • 14. The ADT Plugin Maveryx PerspectiveJUnit integration Action buttons Report / Metrics View
  • 15. The Application-under-test You can download the ApiDemos project package at: https://android.googlesource.com/platform/development/+/master/samples/ApiDemos/
  • 16. Import the Application-Under-Test 1. In Eclipse ADT, chose File → Import… to import the Existing Android Code Into Workspace and select the root folder of the unpacked project To test an Android application using Maveryx : 1. Import the Application Under Test 2. Create the Runner Project 3. Create a Maveryx Test Project The ADT may throws the error “Unable to resolve target ‘android-XX'”. Open project.properties file present under the project folder and update the target version.
  • 17. Create the Runner Project (1) 1. In Eclipse, select File → New → Other… 2. In the Select a Wizard dialog, expand Android and select Android Test Project. 3. Click Next. 4. In the New Android Test Project wizard, enter a Name for the test project and click Next To test an Android application using Maveryx : 1. Import the Application Under Test 2. Create the Runner Project 3. Create a Maveryx Test Project
  • 18. Create the Runner Project (2) 1. In the Select Test Target panel, set An Existing Android Project. 2. Select the Android application under test. 3. In the Build Target panel, select the Android SDK platform. 4. Click Next and then Finish. To test an Android application using Maveryx : 1. Import the Application Under Test 2. Create the Runner Project 3. Create a Maveryx Test Project
  • 19. Configure the Runner Project (1) 1. In the Package Explorer, right click on the project and select Build Path → Configure Build Path... 2. In the Libraries tab, in the Properties panel, click on Add External JARs... and add the following jars : a. bootstrapForAndroid.jar b. factory.jar c. jdom.jar To test an Android application using Maveryx : 1. Import the Application Under Test 2. Create the Runner Project 3. Create a Maveryx Test Project
  • 20. Configure the Runner Project (2) 1. In the Order and Export tab select the following jars: a. bootstrapForAndroid.jar b. factory.jar c. jdom.jar To test an Android application using Maveryx : 1. Import the Application Under Test 2. Create the Runner Project 3. Create a Maveryx Test Project
  • 21. Create the Runner Class (1) 1. In Eclipse, select File → New → Class 2. In the New Java Class dialog, enter a name for this class: “Runner”. To test an Android application using Maveryx : 1. Import the Application Under Test 2. Create the Runner Project 3. Create a Maveryx Test Project
  • 22. Create the Runner Class (2) Import the package containing the main activity of the application-under-test. The main activity (class) of the application- under-test.
  • 23. Create a New Test Project 1. Select File → New → Maveryx Test Project In the Maveryx Test Project window 1. enter the Project name 2. in the JRE section make sure that Java/JRE 6 or higher is selected To test an Android application using Maveryx : 1. Import the Application Under Test 2. Create the Runner Project 3. Create a Maveryx Test Project
  • 24. Create a New Test Script 1. Select File → New → Maveryx Test Class In the Maveryx Test Class window 1. enter a name for the Package 2. enter a Name for the test class / script To test an Android application using Maveryx : 1. Import the Application Under Test 2. Create the Runner Project 3. Create a Maveryx Test Project
  • 25. Create the Launch file To execute the application-under-test it is necessary to create the related launch file (⇒ XML file). Create a launch file as the one in figure by changing: 1. the Android ADB path 2. the Working Directory 3. the JRE path
  • 26. The Test Case Test Case #001 1. Connect to the application-under-test 2. Select the item "Views" 3. Select the item "Controls" 4. Select the item "1. Light Theme" 5. Insert a text into the text field 6. Check that the text is set 7. Click the "Checkbox 1" 8. Check that the "Checkbox 1" is selected 9. Click the "Radiobutton 1" 10.Check that the "Radiobutton 1" is selected 11.Return to the "Controls" items 12.Close the application-under-test
  • 27. Test Case #001 1. Connect to the application-under-test 2. Select the item "Views" 3. Select the item "Controls" 4. Select the item "1. Light Theme" 5. Insert a text into the text field 6. Check that the text is set 7. Click the "Checkbox 1" 8. Check that the "Checkbox 1" is selected 9. Click the "Radiobutton 1" 10. Check that the "Radiobutton 1" is selected 11. Return to the items in "Controls" 12. Close the application-under-test Connect to the application
  • 28. Connect to the application The static method connect(ApplicationPathName, ConfigFilePath) in class Bootstrap allows to connect to the application-under-test
  • 29. Working with lists Test Case #001 1. Connect to the application-under-test 2. Select the item "Views" 3. Select the item "Controls" 4. Select the item "1. Light Theme" 5. Insert a text into the text field 6. Check that the text is set 7. Click the "Checkbox 1" 8. Check that the "Checkbox 1" is selected 9. Click the "Radiobutton 1" 10. Check that the "Radiobutton 1" is selected 11. Return to the items in "Controls" 12. Close the application-under-test
  • 30. Working with lists 1. Create a new GuiList object 2. Scroll down the list 3. Create a new GuiLabel object specifying the text 4. Click the label
  • 31. Working with text fields Test Case #001 1. Connect to the application-under-test 2. Select the item "Views" 3. Select the item "Controls" 4. Select the item "1. Light Theme" 5. Insert a text into the text field 6. Check that the text is set 7. Click the "Checkbox 1" 8. Check that the "Checkbox 1" is selected 9. Click the "Radiobutton 1" 10. Check that the "Radiobutton 1" is selected 11. Return to the items in "Controls" 12. Close the application-under-test
  • 32. Working with text fields 1. Create a new GuiText object 2. Type the text 3. Verification Point : check that the text is set correctly
  • 33. Working with check boxes Test Case #001 1. Connect to the application-under-test 2. Select the item "Views" 3. Select the item "Controls" 4. Select the item "1. Light Theme" 5. Insert a text into the text field 6. Check that the text is set 7. Click the "Checkbox 1" 8. Check that the "Checkbox 1" is selected 9. Click the "Radiobutton 1" 10. Check that the "Radiobutton 1" is selected 11. Return to the items in "Controls" 12. Close the application-under-test
  • 34. Working with check boxes 1. Create a new GuiCheckBox object specifying the caption 2. Click the check box 3. Verification Point : check that the check box is selected
  • 35. Working with radio buttons Test Case #001 1. Connect to the application-under-test 2. Select the item "Views" 3. Select the item "Controls" 4. Select the item "1. Light Theme" 5. Insert a text into the text field 6. Check that the text is set 7. Click the "Checkbox 1" 8. Check that the "Checkbox 1" is selected 9. Click the "Radiobutton 1" 10. Check that the "Radiobutton 1" is selected 11. Return to the items in "Controls" 12. Close the application-under-test
  • 36. Working with radio buttons 1. Create a new GuiRadioButton object specifying the caption 2. Click the radio button 3. Verification Point : check that the radio button is selected
  • 37. Working with device buttons Test Case #001 1. Connect to the application-under-test 2. Select the item "Views" 3. Select the item "Controls" 4. Select the item "1. Light Theme" 5. Insert a text into the text field 6. Check that the text is set 7. Click the "Checkbox 1" 8. Check that the "Checkbox 1" is selected 9. Click the "Radiobutton 1" 10. Check that the "Radiobutton 1" is selected 11. Return to the items in "Controls" 12. Close the application-under-test
  • 38. Working with device buttons 1. Click the Back button 2. Click the Home button
  • 39. Close the application Test Case #001 1. Connect to the application-under-test 2. Select the item "Views" 3. Select the item "Controls" 4. Select the item "1. Light Theme" 5. Insert a text into the text field 6. Check that the text has entered 7. Click the "Checkbox 1" 8. Check that the "Checkbox 1" is selected 9. Click the "Radiobutton 1" 10. Check that the "Radiobutton 1" is selected 11. Return to the items in "Controls" 12. Close the application-under-test
  • 41. Launch the application (1) 1. Select the Runner class 2. Select Run As → Android JUnit Test
  • 43. Run the Test Script 1. Select Run As... → JUnit Test 2. Select the Eclipse JUnit Launcher
  • 44. View the Test Results 1. Test Results 2. Test Metrics 3. Test Console Log
  • 46. Lesson Learned o NO UI MAPS needed to create and run the tests o No pre-recording or UI capture required o Test scripts can be created in parallel with software development o Test scripts immediately executable (as soon as application is available) o No Rooting required o Integrated into the Android ADT
  • 47. Useful Links o Maveryx – http://www.maveryx.com o User guide – http://www.maveryx.com/en/support/learn- more/user-documentation.html o Forum – http://www.maveryx.com/en/forum/index.html o Training – http://www.maveryx.com/en/services/training.html