Introduction
to Robot
Framework
Contents
Contents
What is Robot Framework?
Common use Cases
Pros and cons
Architecture and structure
1
2
3
4
5
What is Robot
framework?
Robot Framework is...
● A generic open source automation framework for
acceptance testing / Robotic process automation
● Implemented using Python and runs also on Jython
(JVM) and IronPython (.NET).
● Operating system and application independent.
● Initially developed by Nokia, currently sponsored by
the Robot Framework Foundation
● Free open source software (Apache License 2.0)
● Web, desktop and mobile
application testing
● Acceptance testing
● API testing
● Less common:
○ Unit and integration testing
○ Database testing
Common
use cases
Pros and cons.
Pros
● Highly abstracted, keyword driven design
● Modular architecture, easy to extend with self made
or third party test libraries.
● Keywords are highly reusable
● Accessible for beginners
● Powerful logging capabilities
Cons
● No support for while-loops or nested for-loops
● Everything is a string, working with integers and
booleans is sometimes a bit complicated
● Overly verbose (Arguable)
● Certain use cases necessitate the use of global
variables, which makes the codebase harder to
sustain and refactor
● High levels of abstraction can easily cause
performance overhead on more complex tasks
Architecture and
test structure.
● Doesn’t care what kind of
system is being tested
● Tools, libraries and test data
can be supplied in many
different forms
● Highly reusable keywords
Robot Framework is
modular because..
● Test suites consist of
multiple test cases
● Test cases are considered
separate namespaces
● You can have multiple test
suites within a single
project
● Custom keywords, variables
and python extensions are
usually stored in a separate
file
Test suite structure
● Keywords are high level
structures that provide
functionality. You can think
of these as functions.
(Because they are, basically)
● Keywords can consist of any
number of different
keywords, or even raw
python code.
Keyword Structure
End.

Introduction to Robot Framework – Exove

  • 1.
  • 2.
    Contents Contents What is RobotFramework? Common use Cases Pros and cons Architecture and structure 1 2 3 4 5
  • 3.
  • 4.
    Robot Framework is... ●A generic open source automation framework for acceptance testing / Robotic process automation ● Implemented using Python and runs also on Jython (JVM) and IronPython (.NET). ● Operating system and application independent. ● Initially developed by Nokia, currently sponsored by the Robot Framework Foundation ● Free open source software (Apache License 2.0)
  • 5.
    ● Web, desktopand mobile application testing ● Acceptance testing ● API testing ● Less common: ○ Unit and integration testing ○ Database testing Common use cases
  • 6.
  • 7.
    Pros ● Highly abstracted,keyword driven design ● Modular architecture, easy to extend with self made or third party test libraries. ● Keywords are highly reusable ● Accessible for beginners ● Powerful logging capabilities
  • 8.
    Cons ● No supportfor while-loops or nested for-loops ● Everything is a string, working with integers and booleans is sometimes a bit complicated ● Overly verbose (Arguable) ● Certain use cases necessitate the use of global variables, which makes the codebase harder to sustain and refactor ● High levels of abstraction can easily cause performance overhead on more complex tasks
  • 9.
  • 10.
    ● Doesn’t carewhat kind of system is being tested ● Tools, libraries and test data can be supplied in many different forms ● Highly reusable keywords Robot Framework is modular because..
  • 11.
    ● Test suitesconsist of multiple test cases ● Test cases are considered separate namespaces ● You can have multiple test suites within a single project ● Custom keywords, variables and python extensions are usually stored in a separate file Test suite structure
  • 12.
    ● Keywords arehigh level structures that provide functionality. You can think of these as functions. (Because they are, basically) ● Keywords can consist of any number of different keywords, or even raw python code. Keyword Structure
  • 13.