Robot Framework Dos And Don'ts

Pekka Klärck
Pekka KlärckAgile tester, consultant, and lead developer of Robot Framework at Eliga
Robot Framework 
Dos and Don'ts 
© Copyright Nokia Networks 
Creative Commons Attribution 3.0 License
Introduction 
● Robot Framework is a generic acceptance level test 
automation framework 
● This presentation demonstrates general guidelines 
how to create good test cases using it 
● Both good practices and anti-patterns are presented 
● See also 
http://code.google.com/p/robotframework/wiki/HowTo 
WriteGoodTestCases
Most important goals 
● Easy to understand 
● Easy to maintain 
● Fast to execute
Naming 
● Very important to name well test cases, test 
suites, keywords, variables, libraries, resource 
files, ... 
● Good name is explicit and easy to understand 
● Consistency 
● Namespaces 
● Name should tell “what”, not “how”
Documentation 
● Test suites often benefit from documentation 
explaining background etc. 
● Well named tests created using well named 
keywords should not need extra 
documentation 
● Reusable keywords must be documented 
– Good keyword and argument names help and are 
often adequate with higher-level keywords 
– Library keywords need detailed documentation
Example categorization 
● DO: A very good and generally recommended 
practice. 
● DON'T: An anti-pattern, should not be used. 
● TRY: A practice that works in many contexts. 
● AVOID: A practice that typically should be 
avoided but may sometimes be necessary.
DO: Appropriate abstraction level
DON'T: Too low abstraction level
DON'T: Comments instead of 
abstraction
DON'T: Documentation instead of 
abstraction
DO: Use data-driven style to avoid 
repeating workflows and to 
represent business rules
TRY: Gherkin style (ATDD/BDD)
DON'T: Tests without checks
AVOID: Tests with unrelated checks
AVOID: Dependencies between 
tests
DO: Use teardowns for cleanup
DO: Use suite setup/teardown to 
speed up execution
TRY: Move suite setup/teardown to 
directory level initialization files
DO: Use variables to avoid hard 
coding
DON'T: Overuse variables
AVOID: Variable assignment on test 
case level
AVOID: Complex logic in test data
DO: Move logic to libraries when 
possible
DO: Use polling to synchronize 
DON'T: Use sleeping to synchronize
1 of 24

Recommended

Robot Framework Introduction by
Robot Framework IntroductionRobot Framework Introduction
Robot Framework IntroductionPekka Klärck
226.5K views16 slides
Robot framework and selenium2 library by
Robot framework and selenium2 libraryRobot framework and selenium2 library
Robot framework and selenium2 librarykrishantha_samaraweera
14.2K views24 slides
Introduction to Robot Framework by
Introduction to Robot FrameworkIntroduction to Robot Framework
Introduction to Robot FrameworkSomkiat Puisungnoen
12.7K views45 slides
Introduction to Robot Framework – Exove by
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveExove
856 views13 slides
ATDD Using Robot Framework by
ATDD Using Robot FrameworkATDD Using Robot Framework
ATDD Using Robot FrameworkPekka Klärck
27.7K views18 slides
Ruin your life using robot framework by
Ruin your life using robot frameworkRuin your life using robot framework
Ruin your life using robot frameworkPrayoch Rujira
743 views81 slides

More Related Content

What's hot

Robot framework by
Robot frameworkRobot framework
Robot frameworkboriau
5K views15 slides
Robot Framework Introduction by
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introductionlaurent bristiel
15.1K views45 slides
Robot Framework :: Demo login application by
Robot Framework :: Demo login applicationRobot Framework :: Demo login application
Robot Framework :: Demo login applicationSomkiat Puisungnoen
5.5K views15 slides
Robot framework by
Robot frameworkRobot framework
Robot frameworkRochak Bhalla
724 views36 slides
Scripting robot by
Scripting robotScripting robot
Scripting robotChonlasith Jucksriporn
1.3K views16 slides
Introduction to Test Automation by
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test AutomationPekka Klärck
44.4K views46 slides

What's hot(20)

Robot framework by boriau
Robot frameworkRobot framework
Robot framework
boriau5K views
Introduction to Test Automation by Pekka Klärck
Introduction to Test AutomationIntroduction to Test Automation
Introduction to Test Automation
Pekka Klärck44.4K views
Robot framework Gowthami Goli by Gowthami Buddi
Robot framework Gowthami GoliRobot framework Gowthami Goli
Robot framework Gowthami Goli
Gowthami Buddi145 views
Introduction to Robot Framework (external) by Zhe Li
Introduction to Robot Framework (external)Introduction to Robot Framework (external)
Introduction to Robot Framework (external)
Zhe Li1.7K views
Accelerate Quality with Postman - Basics by Knoldus Inc.
Accelerate Quality with Postman - BasicsAccelerate Quality with Postman - Basics
Accelerate Quality with Postman - Basics
Knoldus Inc.3K views
Introduction To Appium With Robotframework by Syam Sasi
Introduction To Appium With RobotframeworkIntroduction To Appium With Robotframework
Introduction To Appium With Robotframework
Syam Sasi1.8K views
Robot Framework - principais características by alinebiath
Robot Framework - principais característicasRobot Framework - principais características
Robot Framework - principais características
alinebiath1.3K views
Robot Framework with actual robot by Eficode
Robot Framework with actual robot Robot Framework with actual robot
Robot Framework with actual robot
Eficode2.1K views
Robot framework 을 이용한 기능 테스트 자동화 by Jaehoon Oh
Robot framework 을 이용한 기능 테스트 자동화Robot framework 을 이용한 기능 테스트 자동화
Robot framework 을 이용한 기능 테스트 자동화
Jaehoon Oh13.7K views
Robot Framework with Python | Edureka by Edureka!
Robot Framework with Python | EdurekaRobot Framework with Python | Edureka
Robot Framework with Python | Edureka
Edureka!307 views

Similar to Robot Framework Dos And Don'ts

Unit testing by
Unit testingUnit testing
Unit testingAdam Birr
469 views10 slides
Unit Testing by
Unit TestingUnit Testing
Unit TestingAdam Birr
169 views10 slides
TDD by
TDDTDD
TDDDotan Patrich
914 views14 slides
Generalization in Auto-Testing. How we put what we had into new Technological... by
Generalization in Auto-Testing. How we put what we had into new Technological...Generalization in Auto-Testing. How we put what we had into new Technological...
Generalization in Auto-Testing. How we put what we had into new Technological...SQALab
664 views33 slides
Extracts from "Clean code" by
Extracts from "Clean code"Extracts from "Clean code"
Extracts from "Clean code"VlatkaPavii
42 views13 slides
Introduction to Testing and TDD by
Introduction to Testing and TDDIntroduction to Testing and TDD
Introduction to Testing and TDDSarah Dutkiewicz
276 views55 slides

Similar to Robot Framework Dos And Don'ts(20)

Unit testing by Adam Birr
Unit testingUnit testing
Unit testing
Adam Birr469 views
Unit Testing by Adam Birr
Unit TestingUnit Testing
Unit Testing
Adam Birr169 views
Generalization in Auto-Testing. How we put what we had into new Technological... by SQALab
Generalization in Auto-Testing. How we put what we had into new Technological...Generalization in Auto-Testing. How we put what we had into new Technological...
Generalization in Auto-Testing. How we put what we had into new Technological...
SQALab664 views
Extracts from "Clean code" by VlatkaPavii
Extracts from "Clean code"Extracts from "Clean code"
Extracts from "Clean code"
VlatkaPavii42 views
Test driven development v1.0 by Ganesh Kondal
Test driven development v1.0Test driven development v1.0
Test driven development v1.0
Ganesh Kondal1.8K views
Clean tests by Agileee
Clean testsClean tests
Clean tests
Agileee1.6K views
Dont run with scissors by Morgan Roman
Dont run with scissorsDont run with scissors
Dont run with scissors
Morgan Roman207 views
Extracts from "Clean Code" by VlatkaPavii
Extracts from "Clean Code"Extracts from "Clean Code"
Extracts from "Clean Code"
VlatkaPavii49 views
Extracts from "Clean Code" by VlatkaPavii
Extracts from "Clean Code"Extracts from "Clean Code"
Extracts from "Clean Code"
VlatkaPavii30 views
Unit Testing and TDD 2017 by Xavi Hidalgo
Unit Testing and TDD 2017Unit Testing and TDD 2017
Unit Testing and TDD 2017
Xavi Hidalgo441 views
Software Development Practices in Practice by Dennis Doomen
Software Development Practices in PracticeSoftware Development Practices in Practice
Software Development Practices in Practice
Dennis Doomen1.6K views
Introduction to Test Driven Development by Sarah Dutkiewicz
Introduction to Test Driven DevelopmentIntroduction to Test Driven Development
Introduction to Test Driven Development
Sarah Dutkiewicz2.4K views

Recently uploaded

Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...ShapeBlue
196 views62 slides
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...ShapeBlue
178 views15 slides
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...ShapeBlue
129 views10 slides
"Surviving highload with Node.js", Andrii Shumada by
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada Fwdays
58 views29 slides
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsShapeBlue
247 views13 slides
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...ShapeBlue
108 views12 slides

Recently uploaded(20)

Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P... by ShapeBlue
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
Developments to CloudStack’s SDN ecosystem: Integration with VMWare NSX 4 - P...
ShapeBlue196 views
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R... by ShapeBlue
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
Setting Up Your First CloudStack Environment with Beginners Challenges - MD R...
ShapeBlue178 views
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ... by ShapeBlue
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
Live Demo Showcase: Unveiling Dell PowerFlex’s IaaS Capabilities with Apache ...
ShapeBlue129 views
"Surviving highload with Node.js", Andrii Shumada by Fwdays
"Surviving highload with Node.js", Andrii Shumada "Surviving highload with Node.js", Andrii Shumada
"Surviving highload with Node.js", Andrii Shumada
Fwdays58 views
Why and How CloudStack at weSystems - Stephan Bienek - weSystems by ShapeBlue
Why and How CloudStack at weSystems - Stephan Bienek - weSystemsWhy and How CloudStack at weSystems - Stephan Bienek - weSystems
Why and How CloudStack at weSystems - Stephan Bienek - weSystems
ShapeBlue247 views
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And... by ShapeBlue
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
Enabling DPU Hardware Accelerators in XCP-ng Cloud Platform Environment - And...
ShapeBlue108 views
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f... by TrustArc
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc Webinar - Managing Online Tracking Technology Vendors_ A Checklist f...
TrustArc176 views
"Package management in monorepos", Zoltan Kochan by Fwdays
"Package management in monorepos", Zoltan Kochan"Package management in monorepos", Zoltan Kochan
"Package management in monorepos", Zoltan Kochan
Fwdays34 views
LLMs in Production: Tooling, Process, and Team Structure by Aggregage
LLMs in Production: Tooling, Process, and Team StructureLLMs in Production: Tooling, Process, and Team Structure
LLMs in Production: Tooling, Process, and Team Structure
Aggregage57 views
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ... by ShapeBlue
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
How to Re-use Old Hardware with CloudStack. Saving Money and the Environment ...
ShapeBlue171 views
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading... by The Digital Insurer
Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...Webinar : Desperately Seeking Transformation - Part 2:  Insights from leading...
Webinar : Desperately Seeking Transformation - Part 2: Insights from leading...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit... by ShapeBlue
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
Transitioning from VMware vCloud to Apache CloudStack: A Path to Profitabilit...
ShapeBlue162 views
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or... by ShapeBlue
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
Zero to Cloud Hero: Crafting a Private Cloud from Scratch with XCP-ng, Xen Or...
ShapeBlue199 views
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ... by ShapeBlue
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
Import Export Virtual Machine for KVM Hypervisor - Ayush Pandey - University ...
ShapeBlue120 views
Digital Personal Data Protection (DPDP) Practical Approach For CISOs by Priyanka Aash
Digital Personal Data Protection (DPDP) Practical Approach For CISOsDigital Personal Data Protection (DPDP) Practical Approach For CISOs
Digital Personal Data Protection (DPDP) Practical Approach For CISOs
Priyanka Aash162 views
The Power of Heat Decarbonisation Plans in the Built Environment by IES VE
The Power of Heat Decarbonisation Plans in the Built EnvironmentThe Power of Heat Decarbonisation Plans in the Built Environment
The Power of Heat Decarbonisation Plans in the Built Environment
IES VE84 views

Robot Framework Dos And Don'ts