Robot Framework Test Automation
Table of Contents
Robot Framework Test Automation
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers, and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Getting Started with the Robot Framework
The need for acceptance testing
Pinpoint application failure
Reducing the error rate
Providing automation and re-use
Creating the a test audit trail
What is the Robot Framework?
The Robot Framework ecosystem
Installing and setting up the Robot Framework
Source installation
One-click graphical installer
Java environment installation
The Python package installation
Support for different runtimes
Command details
A small exercise
Summary
2. Configuring a Test Project
Test naming conventions
Creating an execution order
Test randomization
Test file structure
HTML format
TSV format
Plaintext format
Pipe-separated format
Restructured text format
Test configuration files
Suite initialization files
External variable files
Structure
Python/Java files containing variables
Resource files
Structure
Test setup and teardown
Summary
3. Further Test Customization
Automation and agile
Internal re-use
Loops and flow control
Flow control
Breaking off without finishing
Feeding external data
Performing a set of tasks repeatedly within a test
Application in test automation
Higher order re-use
User keywords
Test templates
User libraries
Approaches towards writing tests
Keyboard-driven tests
Data-driven tests
Behavior-driven tests
Behavior-driven development
BDD using the Robot Framework
Standard libraries
Collections
Dialogs
Operating System
Process
Screenshot
String
Telnet
XML
Remote test execution
Summary
4. Extending the Framework
Testing the web applications
Selenium
The Robot Framework Selenium library
Running web-based tests
Using the Selenium2Library
Debugging through the REPL shell
Testing desktop applications
Testing through objects – Java Swing
A Swing test
Testing through images
Sikuli
Creating a custom Sikuli library
Other noteworthy libraries
Testing network protocols
Testing the web services
Testing the database
Summary
5. Generating Reports
The need for reports
Quick-test run assessment
Result comparison
Individual result detailing
Intelligent assessment
Generated files
Output structure
Heading
Summary information
Test statistics
Test details
Test execution log
Test coloring information
Separating files
Making changes in outputs
Customizing the report title
Background color customization
Changing how much is logged
Changing the report format
Creating derived reports
Recreating reports
Viewing differences
Further result usage
Summary
Index
Robot Framework Test Automation
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: October 2013
Production Reference: 1181013
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78328-303-3
www.packtpub.com
Author
Sumit Bisht
Reviewers
Syed Mohd Mohsin Akhtar
Ismo Aro
Acquisition Editor
Pramila Balan
Commissioning Editor
Mohammed Fahad
Technical Editors
Dipika Gaonkar
Mrunmayee Patil
Sonali Vernekar
Project Coordinator
Michelle Quadros
Proofreader
Stephen Copestake
Indexer
Rekha Nair
Graphics
Abhinash Sahu
Production Coordinator
Melwyn D'sa
Cover Work
Melwyn D'sa
Sumit Bisht currently works as a Senior Software Engineer at a software service outsourcing firm. He has experience in both project and product-based companies and has done Masters in Computer Applications in addition to self-taught learning as part of his learning process towards making computers work. He has keen interests in leveraging various open source technologies for developing better software, considers himself a polyglot programmer and has experience working with different programming. While not working, he devotes his time in learning new researches and technologies, reviewing technical books on a wide variety of topics, sharing interesting information, and evangelizing open source philosophy through his blog, sumitbisht.blogspot.in.
Syed Mohd Mohsin Akhtar is a Software Engineer (R&D) at Encardio-Rite Electronics Pvt. Ltd., Lucknow, India. He received his M.C.A.(Hons.) from GBTU, India and eventually earned his spot as Software Engineer at DataBorough India a research subsidiary of DataBorough UK. He also has a specialized degree in Computer Maintenance from Aligarh Muslim University, India. He has been a Microsoft Student Partner, member OSUM (Open Source University Meetup), and an active member within several technical forums in his college days. ...