Quick Start

Let’s go!

Introduction

About this guide

Robot Framework Quick Start Guide introduces the most important `Robot

Framework http://robotframework.org`_ features. You can simply browse

through it and look at the examples, but you can also use the guide as an

executable demo__. All features shown here are explained more thoroughly

in Robot Framework User Guide_.

__ Executing this guide_

.. _Robot Framework User Guide: http://robotframework.org/robotframework/#user-guide

Robot Framework overview

Robot Framework_ is a generic open source test automation framework for

acceptance testing and acceptance test-driven development (ATDD). It has

easy-to-use tabular test data syntax and it utilizes the keyword-driven

testing approach. Its testing capabilities can be extended by test libraries

implemented either with Python or Java, and users can create new higher-level

keywords from existing ones using the same syntax that is used for creating

test cases.

Robot Framework is operating system and application independent. The core

framework is implemented using Python <http://python.org>_ and runs also on

Jython <http://jython.org>_ (JVM) and IronPython <http://ironpython.net>_

(.NET). The framework has a rich ecosystem around it consisting of various

generic test libraries and tools that are developed as separate projects.

For more information about Robot Framework and the ecosystem, see

http://robotframework.org. There you can find plenty more documentation,

demo projects, list of available test libraries and other tools, and so on.

Demo application

The sample application for this guide is a variation on a classic login

example: it is a command-line based authentication server written in Python.

The application allows a user to do three things:

  • Create an account with a valid password.

  • Log in with a valid user name and password.

  • Change the password of an existing account.

The application itself is in <sut/login.py>_ file and can be executed with

a command python sut/login.py. Attempting to log in with a non-existent

user account or with an invalid password results in the same error message::

python sut/login.py login nobody P4ssw0rd

Access Denied

After creating a user account with valid password login succeeds::

python sut/login.py create fred P4ssw0rd

SUCCESS

python sut/login.py login fred P4ssw0rd

Logged In

There are two requirements that a password must fulfill to be valid: it must

be between 7-12 characters long, and it must contain lower and upper case

letters and numbers, but it must not contain special characters. Trying to

create a user with invalid password fails::

python sut/login.py create fred short

Creating user failed: Password must be 7-12 characters long

python sut/login.py create fred invalid

Creating user failed: Password must be a combination of lowercase and

uppercase letters and numbers

Changing password with invalid credentials results in the same error message

as logging in with invalid credentials. The validity of new password is

verified and if not valid, an error message is given::

python sut/login.py change-password fred wrong NewP4ss

Changing password failed: Access Denied

python sut/login.py change-password fred P4ssw0rd short

Changing password failed: Password must be 7-12 characters long

python sut/login.py change-password fred P4ssw0rd NewP4ss

SUCCESS

The application uses a simple database file to keep track on user statuses.

The file is located in operating system dependent temporary directory.

Sicily