SlideShare ist ein Scribd-Unternehmen logo
1 von 23
Downloaden Sie, um offline zu lesen
Robot Framework
A tool for automated acceptance testing
Me, My self and I
Anders Arnholm
• Umeå Universitet
• Open Software ▶ HiQ
• Mecel ▶ Delphi
• HiQ
Acceptance testing
formal testing with respect to user needs, requirements, and business
processes conducted to determine whether or not a system satisfies the
acceptance criteria and to enable the user, customers or other authorized
entity to determine whether or not to accept the system.
Standard glossary of terms used in Software Testing, Version 2.1. ISTQB. 2010.
Automated
the technique, method, or system of operating or controlling a process by
highly automatic means, as by electronic devices, reducing human
intervention to a minimum
dictionary.com
Acceptance test driven development
• A way of running Agile Development Project
• Inspired by Test Driven Development
• Product Owner + Tester + Developer refines a story
into an automated acceptance test
• Development until the test passes
What is Robot Framework
• Test automation framework
• Implemented in python
• Open source
• Keyword-driven syntax
Architecture
Test Data
Robot Framework
Test Libraries
Test Tools
System under test
Demo time
Keyword driven test
*** Test Cases ***
User can log in with a valid password
Attempt to Login with Credentials test@example.com P4ssw0rd
Should Be Logged In test@example.com
User cannot log in with bad password
Attempt to Login with Credentials test@example.com wrong
Error Should Be Incorrect password
Gherkin Style
*** Test Cases ***
The count should increase
Given a logged in user
And the click counter is 0
When the user clicks the button
Then the click counter should be 1
Data driven tests
*** Test Cases ***
Invalid email
[Template] Creating a user with invalid email should fail
test_user Invalid email
a+b@:w Invalid email
*** Keywords ***
Creating a user with invalid email should fail
[Arguments] ${username} ${errormessage}
Attempt to create user with Credentials ${username} 12345
Error should be ${errormessage}
Custom Keywords
*** Keywords ***
Should Be Logged In
[Arguments] ${username}
Element Should Contain id=login-name-link ${username}
Error Should Be
[Arguments] ${errormessage}
[Timeout] 2 minutes
Element Should Contain id=login-dropdown-list ${errormessage}
Extensible libraries
#!/usr/bin/env python
import json
import time
def should_have_error_message(self, jsondata):
print '*INFO:%d* JSON: %s' % (time.time()*1000, jsondata)
questions = json.loads(jsondata)
if not u'errorMessage' in questions:
raise Exception(u'No error message in answer')
Variables
*** Variables ***
${SERVER} localhost:3000
${BROWSER} chrome
${DELAY} 0.1
${pageurl} http://${SERVER}/
*** Test Case ***
My variable example
${result}= Get page counter
Greater Than 30 ${pagecounter}
pybot --variable BROWSER:safari mytest.robot
Test tagging
*** Settings ***
Force Tags sast
Default Tags HiQ Gothenburg
*** Test Cases ***
Page have greeting
[Tags] smoke critical
Page should contain Welcome
Page have copyright
[Tags] smoke optional
Page should contain ©2015
Page have last
Page should contain SAST
Reports
Logs
Existing libraries
• Standard Libraries
• OperatingSystem, Screenshot, String, Dialogs, XML, …
• External Libraries
• Selenium, Appium, SSH, Database,
• Project/Team specific
• Easy to make your own
Test data formats
Also known as test file formats
• HTML (.html, .htm, .xhtml)
• TSV - tab separated values (.tsv)
• plain text (.txt, .robot)
• reStructured text (.rst, .rest)
Editors
• RIDE
• Plugins for IntelliJ, Eclipse, Vim, Emacs, SubLime,
TextMate…
• Spreadsheet applications, Excel, Numbers or Calc
Easy Integration
• Test suits from files and directories
• Supports any versioning system, e.g. use git
• Simple command line interface
• External tools and scripts can start tests
• Output also to XML
• Machine readable
• Easy to combine
• Plugins for common CI tools
• Jenkins, Ant, Maven
The end
robotframework.org
anders.arnholm@hiq.se
www.hiq.se
• robotframework.org
• anders.arnholm@hiq.se
• www.hiq.se

Weitere ähnliche Inhalte

Was ist angesagt?

Beyond Unit Testing
Beyond Unit TestingBeyond Unit Testing
Beyond Unit Testing
Søren Lund
 

Was ist angesagt? (20)

Robot framework - Lord of the Rings
Robot framework - Lord of the RingsRobot framework - Lord of the Rings
Robot framework - Lord of the Rings
 
Introduction to Robot Framework – Exove
Introduction to Robot Framework – ExoveIntroduction to Robot Framework – Exove
Introduction to Robot Framework – Exove
 
Code Review Tool Evaluation
Code Review Tool EvaluationCode Review Tool Evaluation
Code Review Tool Evaluation
 
Introduction to Robot Framework (external)
Introduction to Robot Framework (external)Introduction to Robot Framework (external)
Introduction to Robot Framework (external)
 
Code review process with JetBrains UpSource
Code review process with JetBrains UpSourceCode review process with JetBrains UpSource
Code review process with JetBrains UpSource
 
Code Review tool for personal effectiveness and waste analysis
Code Review tool for personal effectiveness and waste analysisCode Review tool for personal effectiveness and waste analysis
Code Review tool for personal effectiveness and waste analysis
 
Robot framework
Robot frameworkRobot framework
Robot framework
 
Robot Framework with actual robot
Robot Framework with actual robot Robot Framework with actual robot
Robot Framework with actual robot
 
Robot framework Gowthami Goli
Robot framework Gowthami GoliRobot framework Gowthami Goli
Robot framework Gowthami Goli
 
Robot Framework Introduction
Robot Framework IntroductionRobot Framework Introduction
Robot Framework Introduction
 
利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試利用 Appium + Robot Framework 實現跨平台 App 互動測試
利用 Appium + Robot Framework 實現跨平台 App 互動測試
 
JavaCro'14 - Test Automation using RobotFramework Libraries – Stojan Peshov
JavaCro'14 - Test Automation using RobotFramework Libraries – Stojan PeshovJavaCro'14 - Test Automation using RobotFramework Libraries – Stojan Peshov
JavaCro'14 - Test Automation using RobotFramework Libraries – Stojan Peshov
 
Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...
Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...
Play with Testing on Android - Gilang Ramadhan (Academy Content Writer at Dic...
 
Introduction to robot framework
Introduction to robot frameworkIntroduction to robot framework
Introduction to robot framework
 
How to improve code quality for iOS apps?
How to improve code quality for iOS apps?How to improve code quality for iOS apps?
How to improve code quality for iOS apps?
 
Java Code Quality Tools
Java Code Quality ToolsJava Code Quality Tools
Java Code Quality Tools
 
Git branching policy and review comment's prefix
Git branching policy and review comment's prefixGit branching policy and review comment's prefix
Git branching policy and review comment's prefix
 
Beyond Unit Testing
Beyond Unit TestingBeyond Unit Testing
Beyond Unit Testing
 
Code review
Code reviewCode review
Code review
 
Android Automation Using Robotium
Android Automation Using RobotiumAndroid Automation Using Robotium
Android Automation Using Robotium
 

Andere mochten auch

Guia de estudio sistemas digitales
Guia de estudio sistemas digitalesGuia de estudio sistemas digitales
Guia de estudio sistemas digitales
CECYTEM
 
NUEVAS TECNOLOGÍAS ELECTRONICAS
NUEVAS TECNOLOGÍAS ELECTRONICASNUEVAS TECNOLOGÍAS ELECTRONICAS
NUEVAS TECNOLOGÍAS ELECTRONICAS
Danny Galarza
 
Universidad nacional de chimborazo
Universidad nacional de  chimborazoUniversidad nacional de  chimborazo
Universidad nacional de chimborazo
Byron Toapanta
 
Ssssssssssssssssssssssssssssssssssssssssssssss
SsssssssssssssssssssssssssssssssssssssssssssssSsssssssssssssssssssssssssssssssssssssssssssss
Ssssssssssssssssssssssssssssssssssssssssssssss
stoptop
 

Andere mochten auch (20)

класик фест
класик фесткласик фест
класик фест
 
Airing of grievances
Airing of grievancesAiring of grievances
Airing of grievances
 
Guia de estudio sistemas digitales
Guia de estudio sistemas digitalesGuia de estudio sistemas digitales
Guia de estudio sistemas digitales
 
Brain NECSTwork - Marketability
Brain NECSTwork - MarketabilityBrain NECSTwork - Marketability
Brain NECSTwork - Marketability
 
19 teatr all
19 teatr all19 teatr all
19 teatr all
 
Networked Fitness 2014 - What Is It And What Does It Mean For Health Clubs An...
Networked Fitness 2014 - What Is It And What Does It Mean For Health Clubs An...Networked Fitness 2014 - What Is It And What Does It Mean For Health Clubs An...
Networked Fitness 2014 - What Is It And What Does It Mean For Health Clubs An...
 
Meeting participation exercise
Meeting participation exerciseMeeting participation exercise
Meeting participation exercise
 
ELK - What's new and showcases
ELK - What's new and showcasesELK - What's new and showcases
ELK - What's new and showcases
 
Advantages of native apps
Advantages of native appsAdvantages of native apps
Advantages of native apps
 
Organizing for Success with Digital Retail
Organizing for Success with Digital RetailOrganizing for Success with Digital Retail
Organizing for Success with Digital Retail
 
Reference 2.0
Reference 2.0Reference 2.0
Reference 2.0
 
NUEVAS TECNOLOGÍAS ELECTRONICAS
NUEVAS TECNOLOGÍAS ELECTRONICASNUEVAS TECNOLOGÍAS ELECTRONICAS
NUEVAS TECNOLOGÍAS ELECTRONICAS
 
Are you a Feminist?
Are you a Feminist?Are you a Feminist?
Are you a Feminist?
 
Universidad nacional de chimborazo
Universidad nacional de  chimborazoUniversidad nacional de  chimborazo
Universidad nacional de chimborazo
 
Infographic: Writing a Story Scary to the BONES!
Infographic: Writing a Story Scary to the BONES!Infographic: Writing a Story Scary to the BONES!
Infographic: Writing a Story Scary to the BONES!
 
Online Marketing and SEO Workshop
Online Marketing and SEO WorkshopOnline Marketing and SEO Workshop
Online Marketing and SEO Workshop
 
Ode aan merkwaardige avonturier Tinco Lycklama a Nijeholt
Ode aan merkwaardige avonturier Tinco Lycklama a NijeholtOde aan merkwaardige avonturier Tinco Lycklama a Nijeholt
Ode aan merkwaardige avonturier Tinco Lycklama a Nijeholt
 
Dennis%20 B[2].Doc 2
Dennis%20 B[2].Doc 2Dennis%20 B[2].Doc 2
Dennis%20 B[2].Doc 2
 
Ssssssssssssssssssssssssssssssssssssssssssssss
SsssssssssssssssssssssssssssssssssssssssssssssSsssssssssssssssssssssssssssssssssssssssssssss
Ssssssssssssssssssssssssssssssssssssssssssssss
 
Imperialismo
ImperialismoImperialismo
Imperialismo
 

Ähnlich wie Robot framework - SAST Väst Q3

Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Moldova ICT Summit
 
The Testing Planet Issue 2
The Testing Planet Issue 2The Testing Planet Issue 2
The Testing Planet Issue 2
Rosie Sherry
 
Intro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran MizrahiIntro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran Mizrahi
Ran Mizrahi
 

Ähnlich wie Robot framework - SAST Väst Q3 (20)

Code your Own: Authentication Provider for Blackboard Learn
Code your Own: Authentication Provider for Blackboard LearnCode your Own: Authentication Provider for Blackboard Learn
Code your Own: Authentication Provider for Blackboard Learn
 
Automation frameworks
Automation frameworksAutomation frameworks
Automation frameworks
 
Five Things You Didn't Know About Firebase Auth
Five Things You Didn't Know About Firebase AuthFive Things You Didn't Know About Firebase Auth
Five Things You Didn't Know About Firebase Auth
 
Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)Test Automation Best Practices (with SOA test approach)
Test Automation Best Practices (with SOA test approach)
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Automated Testing Of Web Applications Using XML
Automated  Testing Of  Web  Applications Using  XMLAutomated  Testing Of  Web  Applications Using  XML
Automated Testing Of Web Applications Using XML
 
Why Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best FriendWhy Browser Debugger is a Developer's Best Friend
Why Browser Debugger is a Developer's Best Friend
 
Agile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai ShevchenkoAgile methodologies based on BDD and CI by Nikolai Shevchenko
Agile methodologies based on BDD and CI by Nikolai Shevchenko
 
6 Things You Didn't Know About Firebase Auth
6 Things You Didn't Know About Firebase Auth6 Things You Didn't Know About Firebase Auth
6 Things You Didn't Know About Firebase Auth
 
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & TricksFlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
FlexNet Delivery and FlexNet Operations On-Demand Tips & Tricks
 
Lecture 12: React-Native Firebase Authentication
Lecture 12: React-Native Firebase AuthenticationLecture 12: React-Native Firebase Authentication
Lecture 12: React-Native Firebase Authentication
 
Automated Developer Testing: Achievements and Challenges
Automated Developer Testing: Achievements and ChallengesAutomated Developer Testing: Achievements and Challenges
Automated Developer Testing: Achievements and Challenges
 
API_Testing_with_Postman
API_Testing_with_PostmanAPI_Testing_with_Postman
API_Testing_with_Postman
 
Justmeans power point
Justmeans power pointJustmeans power point
Justmeans power point
 
Understanding Web Applications and Web Testing Tools - QAConf
Understanding Web Applications and Web Testing Tools - QAConfUnderstanding Web Applications and Web Testing Tools - QAConf
Understanding Web Applications and Web Testing Tools - QAConf
 
Self-service Password Reset
Self-service Password ResetSelf-service Password Reset
Self-service Password Reset
 
The Testing Planet Issue 2
The Testing Planet Issue 2The Testing Planet Issue 2
The Testing Planet Issue 2
 
Workshop quality assurance for php projects - phpdublin
Workshop quality assurance for php projects - phpdublinWorkshop quality assurance for php projects - phpdublin
Workshop quality assurance for php projects - phpdublin
 
Test automation lesson
Test automation lessonTest automation lesson
Test automation lesson
 
Intro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran MizrahiIntro To JavaScript Unit Testing - Ran Mizrahi
Intro To JavaScript Unit Testing - Ran Mizrahi
 

Kürzlich hochgeladen

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 

Kürzlich hochgeladen (20)

WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand%in Midrand+277-882-255-28 abortion pills for sale in midrand
%in Midrand+277-882-255-28 abortion pills for sale in midrand
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
Abortion Pill Prices Boksburg [(+27832195400*)] 🏥 Women's Abortion Clinic in ...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
%in Bahrain+277-882-255-28 abortion pills for sale in Bahrain
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
WSO2CON 2024 - Building the API First Enterprise – Running an API Program, fr...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto%in Soweto+277-882-255-28 abortion pills for sale in soweto
%in Soweto+277-882-255-28 abortion pills for sale in soweto
 
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ 🏥 Women's Abortion Clinic In Pre...
 

Robot framework - SAST Väst Q3

  • 1. Robot Framework A tool for automated acceptance testing
  • 2. Me, My self and I Anders Arnholm • Umeå Universitet • Open Software ▶ HiQ • Mecel ▶ Delphi • HiQ
  • 3. Acceptance testing formal testing with respect to user needs, requirements, and business processes conducted to determine whether or not a system satisfies the acceptance criteria and to enable the user, customers or other authorized entity to determine whether or not to accept the system. Standard glossary of terms used in Software Testing, Version 2.1. ISTQB. 2010.
  • 4. Automated the technique, method, or system of operating or controlling a process by highly automatic means, as by electronic devices, reducing human intervention to a minimum dictionary.com
  • 5. Acceptance test driven development • A way of running Agile Development Project • Inspired by Test Driven Development • Product Owner + Tester + Developer refines a story into an automated acceptance test • Development until the test passes
  • 6. What is Robot Framework • Test automation framework • Implemented in python • Open source • Keyword-driven syntax
  • 7. Architecture Test Data Robot Framework Test Libraries Test Tools System under test
  • 9. Keyword driven test *** Test Cases *** User can log in with a valid password Attempt to Login with Credentials test@example.com P4ssw0rd Should Be Logged In test@example.com User cannot log in with bad password Attempt to Login with Credentials test@example.com wrong Error Should Be Incorrect password
  • 10. Gherkin Style *** Test Cases *** The count should increase Given a logged in user And the click counter is 0 When the user clicks the button Then the click counter should be 1
  • 11. Data driven tests *** Test Cases *** Invalid email [Template] Creating a user with invalid email should fail test_user Invalid email a+b@:w Invalid email *** Keywords *** Creating a user with invalid email should fail [Arguments] ${username} ${errormessage} Attempt to create user with Credentials ${username} 12345 Error should be ${errormessage}
  • 12. Custom Keywords *** Keywords *** Should Be Logged In [Arguments] ${username} Element Should Contain id=login-name-link ${username} Error Should Be [Arguments] ${errormessage} [Timeout] 2 minutes Element Should Contain id=login-dropdown-list ${errormessage}
  • 13. Extensible libraries #!/usr/bin/env python import json import time def should_have_error_message(self, jsondata): print '*INFO:%d* JSON: %s' % (time.time()*1000, jsondata) questions = json.loads(jsondata) if not u'errorMessage' in questions: raise Exception(u'No error message in answer')
  • 14. Variables *** Variables *** ${SERVER} localhost:3000 ${BROWSER} chrome ${DELAY} 0.1 ${pageurl} http://${SERVER}/ *** Test Case *** My variable example ${result}= Get page counter Greater Than 30 ${pagecounter} pybot --variable BROWSER:safari mytest.robot
  • 15. Test tagging *** Settings *** Force Tags sast Default Tags HiQ Gothenburg *** Test Cases *** Page have greeting [Tags] smoke critical Page should contain Welcome Page have copyright [Tags] smoke optional Page should contain ©2015 Page have last Page should contain SAST
  • 17. Logs
  • 18. Existing libraries • Standard Libraries • OperatingSystem, Screenshot, String, Dialogs, XML, … • External Libraries • Selenium, Appium, SSH, Database, • Project/Team specific • Easy to make your own
  • 19. Test data formats Also known as test file formats • HTML (.html, .htm, .xhtml) • TSV - tab separated values (.tsv) • plain text (.txt, .robot) • reStructured text (.rst, .rest)
  • 20. Editors • RIDE • Plugins for IntelliJ, Eclipse, Vim, Emacs, SubLime, TextMate… • Spreadsheet applications, Excel, Numbers or Calc
  • 21. Easy Integration • Test suits from files and directories • Supports any versioning system, e.g. use git • Simple command line interface • External tools and scripts can start tests • Output also to XML • Machine readable • Easy to combine • Plugins for common CI tools • Jenkins, Ant, Maven