You are previewing Robot Framework Test Automation.
O'Reilly logo
Robot Framework Test Automation

Book Description

Create test suites and automated acceptance tests from scratch

  • Create a Robot Framework test file and a test suite

  • Identify and differentiate between different test case writing styles

  • Full of easy- to- follow steps, to get you started with Robot Framework

In Detail

Testing has traditionally been a part of software development, and has always involved a lot of manual effort. It can be automated with Robot Framework, which offers numerous benefits from cost saving to increased quality assurance in the software delivery. This book will help you to start designing test suites and Automated Acceptance Tests.

Helping you to get started with automating acceptance tests, this book will provide a detailed overview of acceptance test management practices and principles. You will also be introduced to advanced techniques that you can use to customize the test suite, along with helpful tips and tricks to extend and leverage it in a wide variety of scenarios.

Starting with a detailed explanation of the need for automated acceptance test driven development, this guide will help you with an empty test project creation and execution for proof of concept, and validation of installation. This book will also cover the Robot Framework in detail, and will help you test desktop applications using Java Swing. You will gain an in-depth knowledge of tricky activities, such as setting up a test environment and using it with Selenium.

You will also learn about other popular libraries, and how to test network protocols, web services, and databases. This book will cover the entire Robot Framework with real- world practical material to make its content informative and interesting.

By the end of this book you will be able to write acceptance tests for desktop and web applications, as well as know how to extend acceptance testing in other scenarios that are commonly devoid of tests, and present the results appropriately.

Table of Contents

  1. Robot Framework Test Automation
    1. Table of Contents
    2. Robot Framework Test Automation
    3. Credits
    4. About the Author
    5. About the Reviewers
    6. www.PacktPub.com
      1. Support files, eBooks, discount offers, and more
        1. Why Subscribe?
        2. Free Access for Packt account holders
    7. Preface
      1. What this book covers
      2. What you need for this book
      3. Who this book is for
      4. Conventions
      5. Reader feedback
      6. Customer support
        1. Downloading the example code
        2. Errata
        3. Piracy
        4. Questions
    8. 1. Getting Started with the Robot Framework
      1. The need for acceptance testing
        1. Pinpoint application failure
        2. Reducing the error rate
        3. Providing automation and re-use
        4. Creating the a test audit trail
      2. What is the Robot Framework?
      3. The Robot Framework ecosystem
      4. Installing and setting up the Robot Framework
        1. Source installation
        2. One-click graphical installer
        3. Java environment installation
        4. The Python package installation
      5. Support for different runtimes
        1. Command details
      6. A small exercise
      7. Summary
    9. 2. Configuring a Test Project
      1. Test naming conventions
        1. Creating an execution order
          1. Test randomization
      2. Test file structure
        1. HTML format
        2. TSV format
        3. Plaintext format
        4. Pipe-separated format
        5. Restructured text format
      3. Test configuration files
        1. Suite initialization files
        2. External variable files
          1. Structure
          2. Python/Java files containing variables
        3. Resource files
          1. Structure
        4. Test setup and teardown
      4. Summary
    10. 3. Further Test Customization
      1. Automation and agile
      2. Internal re-use
        1. Loops and flow control
      3. Flow control
        1. Breaking off without finishing
      4. Feeding external data
        1. Performing a set of tasks repeatedly within a test
          1. Application in test automation
      5. Higher order re-use
        1. User keywords
        2. Test templates
        3. User libraries
      6. Approaches towards writing tests
        1. Keyboard-driven tests
        2. Data-driven tests
        3. Behavior-driven tests
      7. Behavior-driven development
      8. BDD using the Robot Framework
      9. Standard libraries
        1. Collections
        2. Dialogs
        3. Operating System
        4. Process
        5. Screenshot
        6. String
        7. Telnet
        8. XML
      10. Remote test execution
      11. Summary
    11. 4. Extending the Framework
      1. Testing the web applications
        1. Selenium
        2. The Robot Framework Selenium library
      2. Running web-based tests
        1. Using the Selenium2Library
        2. Debugging through the REPL shell
      3. Testing desktop applications
        1. Testing through objects – Java Swing
        2. A Swing test
      4. Testing through images
        1. Sikuli
        2. Creating a custom Sikuli library
      5. Other noteworthy libraries
        1. Testing network protocols
        2. Testing the web services
        3. Testing the database
      6. Summary
    12. 5. Generating Reports
      1. The need for reports
        1. Quick-test run assessment
        2. Result comparison
        3. Individual result detailing
        4. Intelligent assessment
      2. Generated files
      3. Output structure
        1. Heading
        2. Summary information
          1. Test statistics
          2. Test details
          3. Test execution log
      4. Test coloring information
        1. Separating files
      5. Making changes in outputs
        1. Customizing the report title
        2. Background color customization
        3. Changing how much is logged
        4. Changing the report format
        5. Creating derived reports
        6. Recreating reports
        7. Viewing differences
        8. Further result usage
      6. Summary
    13. Index