Setup and run automated test
framework for Android application
Natalukha Kostyantin
Test automation life-cycle
Test automation framework
A test automation framework is a collection of interacting components facilitating the creation and
execution of automated tests and the results reporting.
Framework provides the solution where different tools can do their job in a unified manner
Questions to answer before framework setup
What tests does the framework need to support?
What are the requirements with regards to the reporting?
Who will be responsible for creating the tests using this framework?
 What's their level of expertise?
Test automation framework benefits
Minimizes the time needed to write and maintain tests
Improves readability and reusability of the test automation code
Test automation scalability
Provides an organization-wide guideline on how to write automated tests
Provides a common platform for the automation engineer and simplifies the automation
effort
The Generic Test Automation
Framework according to the
ISTQB®
What is Appium ?
 Architecture: Appium is an HTTP server that creates and handles
webdriver sessions. Appium Server is written in node.js
The basic workflow to test with Appium is the following:
 Tests are written using different languages (Appium supports many of
them: Ruby, C# and Java to list some).
 A server running Appium (the test server) is configured and made
available on a certain network location.
 Devices, or their corresponding simulators, are connected to the test
server.
 Tests are run from the test machine.
Web Driver Script
Appium Server
(Node.JS)
Automation commands are sent
via JSON
Appium Sever invoke commands
on devices
Appium cServer logs the result to
console
Client sends back notification to
the server
4.2 +
Appium Architecture
Appium advantages
Appium framework types
Cloud services
•Testdroid
•AWS
•Soucelabs
Docker
•Selenoid
•Emulator in docker
•Appium in docker
Local run
•PC (1 or multiple appium srv)
•VM
•Network Selenium grid
Local run scheme
Test set
(emulators, devices)
Appium serv 1
Appium serv2
Appium serv 3
Appium serv n
Appium driver 1
Appium driver 2
Appium driver 3
Appium driver n
Desired caps
port, udid ...
port
Java project structure
Driver Extension class
Driver provider class
Emulator setup class
Applicaation Controler class
Appium launcher class
Regression suite example
Demo
Questions and answers

Setup and run automated test framework for android application

  • 1.
    Setup and runautomated test framework for Android application Natalukha Kostyantin
  • 2.
  • 3.
    Test automation framework Atest automation framework is a collection of interacting components facilitating the creation and execution of automated tests and the results reporting. Framework provides the solution where different tools can do their job in a unified manner
  • 4.
    Questions to answerbefore framework setup What tests does the framework need to support? What are the requirements with regards to the reporting? Who will be responsible for creating the tests using this framework?  What's their level of expertise?
  • 5.
    Test automation frameworkbenefits Minimizes the time needed to write and maintain tests Improves readability and reusability of the test automation code Test automation scalability Provides an organization-wide guideline on how to write automated tests Provides a common platform for the automation engineer and simplifies the automation effort
  • 7.
    The Generic TestAutomation Framework according to the ISTQB®
  • 8.
    What is Appium?  Architecture: Appium is an HTTP server that creates and handles webdriver sessions. Appium Server is written in node.js The basic workflow to test with Appium is the following:  Tests are written using different languages (Appium supports many of them: Ruby, C# and Java to list some).  A server running Appium (the test server) is configured and made available on a certain network location.  Devices, or their corresponding simulators, are connected to the test server.  Tests are run from the test machine.
  • 9.
    Web Driver Script AppiumServer (Node.JS) Automation commands are sent via JSON Appium Sever invoke commands on devices Appium cServer logs the result to console Client sends back notification to the server 4.2 + Appium Architecture
  • 10.
  • 11.
    Appium framework types Cloudservices •Testdroid •AWS •Soucelabs Docker •Selenoid •Emulator in docker •Appium in docker Local run •PC (1 or multiple appium srv) •VM •Network Selenium grid
  • 12.
    Local run scheme Testset (emulators, devices) Appium serv 1 Appium serv2 Appium serv 3 Appium serv n Appium driver 1 Appium driver 2 Appium driver 3 Appium driver n Desired caps port, udid ... port
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.