Getting Started with RobotFramework on Windows

What is RobotFramework?

RobotFramework is a GENERIC test automation framework for acceptance testing and acceptance test-driven development (ATTD). What it means that you can do web, mobile, desktop and other test automation activities with related test libraries. These libraries can be implemented either with Python or with Java, and we can add new higher-level keywords from existing ones. It has also very easy test data syntax that utilizes the keyword-driven testing approach.

RobotFramework project is hosted on GitHub where you can find further documentation, source code, and issue tracker. The core framework is implemented using Python and runs on Jython (JVM) and IronPython (.NET). RobotFramework itself is open source software released under Apache License 2.0, and most of the libraries and tools in the ecosystem are open source.

RobotFramework Architecture

♦ When test execution is started, the framework first parses the test data.

♦ It then utilizes keywords provided by the test libraries to interact with the system under test.

♦ Libraries can communicate with the system either directly or using other test tools as drivers.

♦ Test execution is started from the command line. As a result, you get report and log in HTML format as well as an XML output. These provide extensive look into what your system does.



Test libraries provide the actual testing capabilities to RobotFramework by providing keywords. There are several standard libraries that are bundled in with the framework, and galore of separately developed external libraries that can be installed based on your needs. You can find all libraries here:


How to install RobotFramework on Windows?

♣♠♣ Please, see the latest update for RobotFramework and Selenium 3.0 Integration at the end of the article! ♣♠♣

Brief Installation Information:

There are several ways to install RobotFramework. It is implemented with Python; however, it supports also Jyton (JVM) and IronPhyton (.NET). You can find all these installation instructions in this reference link. In this post, we will go with “Installing RobotFramework with pip“. It is the recommended way to install RobotFramework and I suggest you to install RobotFramework in this way.

Pip is the standard Python package manager and latest Python, Jython and IronPython versions contain pip bundled-in. Pip project page is also good reference for pip installation

pip is already installed if you’re using Python 2 >=2.7.9 or Python 3 >=3.4 downloaded from, but you’ll need to upgrade pip with below command.

Additionally, pip will already be installed if you’re working in a Virtual Envionment created by virtualenv or pyvenv.

Step by Step Installation:

1) Go to and download Python 2.7.x version as shown below and install it.




2) Open command prompt and run below command.


3) Upgrade the pip with below command.


4) Verifying Installation

After a successful installation, you should be able to execute the created runner scripts with –version option and get both RobotFramework and interpreter versions.


If running the runner scripts fails with a message saying that the command is not found or recognized, a good first step is double-checking the PATH configuration. If that does not help, it is a good idea to re-read relevant sections from these instructions before searching help from the Internet or as asking help on robotframework-users mailing list or elsewhere.

Note: If you have any problem please check Path configuration and restart your PC. Path configuration must be as same as below figure.


How to Upgrade RobotFramework

If you are using pip, upgrading to a new version required either using the –upgrade option or specifying the version to use explicitly:

How to Uninstall Robot Framework

Installing RIDE (Standalone RobotFramework Test Data Editor)

RIDE runs only on the regular Python, not on Jython nor IronPython. Python 2.6 is the minimum version. Notice that similarly as Robot Framework, RIDE does not yet support Python 3. Notice also that on OS X RIDE requires 32-bit Python version.

Step by Step Installation:

1) Python must be installed. Its installation is described in above section.

2) wxPyhton must be installed. On Windows you can download an appropriate installer from wxPython download page and click next > next > next to install package. You need to install “8-win32-unicode- version.



If you install latest version, you will get below error:


For more information about the installation, see For Linux and OS X please check this link.

3) RIDE can be installed with pip using these commands:


4) After a successful installation, RIDE can be started from the command line by running Alternatively, you can specify a file or directory to open as an argument like path/to/tests.



Install Selenium 2 (WebDriver) Library

Selenium2Library is a web testing library for Robot Framework that leverages the Selenium 2 (WebDriver) libraries from the Selenium project.

The recommended installation method is using pip.

Installation Command:


Upgrade Command:


If you want, you can also install a specific version or upgrade only the Selenium tool used by the library:

You can find more information and how to use Selenium2Library in this page.

How to use Robot Framework with Selenium2Library & RIDE & Command Prompt

First, open cmd prompt and write “” and then press Enter. Then, you will see RIDE editor.

Go to File >> New Project and then give a name to your project as shown below.


Then, Click Text Edit


Then copy paste robot code which is shown below. You can find Selenium2Library commands here: I wrote below test case according to Selenium2Library commands.

Test Scenario:

  • Open LinkedinPage
  • Check Title
  • Enter User Name
  • Enter Wrong Password
  • Click Login
  • Wait 5 seconds
  • Assert Warning Message
  • Close Browser
After copied and pasted above code, when you click “Edit” tab, you will see the test details as shown below.


When you click “Run” tab, you will see below screen and when you click the “Start” button, test will start to run. You can follow the test on log windows.


When you click “Report” and “Log” buttons you will see detailed log and report information in HTML format.




You can also run your test via command prompt. You should run below code to run the test. Report and log results will be automatically generated after the test execution.



In this post, I tried to explain how to install Robot Framework and Selenium2Library. Then, we did a sample test automation example. You can start from here and advance your Robot Framework knowledge and skills. Also, instead of RIDE IDE, you can use SublimeText, IntelliJ, or Eclipse.

I want to share good references with you below.

Nice Article and Videos:

SublimeText Editor Plugin:

Robot Framework and Appium:

Nice Introduction Article:

Several Robot Framework Articles:

UPDATE [11.05.2017]

Robot Framework and Selenium 3.0 Integration

As you know, After Selenium 3.0 we need to declare browser drivers before executing our test scripts. Thus, we need to do below settings for our Robot Framework automation projects. I will describe the settings for Chrome Driver version 2.29, Chrome Browser Version 57.0.2987.133, and Selenium 3.3.2, Robot Framework 3.0.2, Python 2.7.11

First, you need to download latest chrome driver here:

Extract the .zip file and save under the desired path in you PC. I save below path.


Add “” environmental variable and assign it to the chrome driver path as shown below.

Add, chrome driver location to the system path as shown below.

Then, update your test codes as follows.  The environment where I am running the tests is blocking all the third party extensions in chrome browser. That’s why I disabled the extensions with Chrome options.

The Test Scenario: The test opens and then goes to the login page and does an invalid login operation.

And the result is passed as shown. You can also do the similar settings for firefox and IE driver and browsers.


Good Luck!


Database Operations in JavaFX

By Onur Baskirt / Apr 1, 2016 / 56 Comments
Before started this section, please check the first article and learn How to Start JAVAFX! At first, part of JavaFX tutorial series, we created a sample JavaFX project, designed the draft version of the UI and set up an...
rest assured

REST API Testing with Rest Assured

By Onur Baskirt / Mar 8, 2016 / 32 Comments
Outline In this post, I will explain what is API and API testing, what is the difference between SOAP and REST services, and how to test REST APIs with Rest Assured Library. What is API? API stands for Application Programming...

How to Write Effective CSS Locators

By Onur Baskirt / Oct 1, 2017 / 0 Comments
Hi all, in this tutorial, I will describe you how to write effective CSS locators to interrogate web elements for your automation projects. As a rule of thumb, your interrogation strategy should be in below order: First try to use...

Selenium-11: Execute JavaScript with JavascriptExecutor

By Onur Baskirt / Jan 27, 2016 / 15 Comments
Outline Sometimes we cannot handle some conditions or problems with Webdriver, web controls don't react well against selenium commands. In this kind of situations, we use Javascript. It is useful for custom synchronizations, hide or show the web elements, change...

Getting Started with JavaFX

By Onur Baskirt / Mar 25, 2016 / 0 Comments
When I started to work in my current position, one of my task is to do manual operations for campaign products  every week. After the second week, I thought that I have to automate this task using a GUI based...

How to Write Smart XPath Locators

By Onur Baskirt / Sep 24, 2017 / 4 Comments
Hi all, in this tutorial, I will describe you how to write smart and non-brittle XPath locators. When we write our test scripts, we generally prefer to use id, name, class, etc. these kinds of locators. However, sometimes we could not...

Selenium-1: Quick Start to Automation with Selenium WebDriver & JAVA & JUnit & Maven & IntelliJ

By Onur Baskirt / Sep 8, 2015 / 26 Comments
Outline Selenium Webdriver is the most popular open source web test automation framework across wide range of browsers and platforms. In this tutorial you will learn how to do web test automation with Selenium Webdriver and the related tools. Audience...
page object model

Page Object Model with C#

By Ege Aksoz / Jun 18, 2017 / 8 Comments
In the previous tutorial, we’ve taken the initial steps and entered the world of automated testing. We also wrote our first automated test. From this point on, since we are not just going to write one test, we need to...

How to Select a Date From DatePicker Using Selenium

By Onur Baskirt / Aug 13, 2016 / 6 Comments
When you need to automate a airway, hotel, or similar websites you need to deal with Datepickers and some times it is a little bit cumbersome to select a specific date on the Datepicker or calendar.  In this post, I...

Selenium Webdriver Performance testing with Jmeter and Selenium Grid

By Ozgur Kaya / Aug 9, 2016 / 2 Comments
In this post, we will complete Selenium Webdriver Performance testing scenario using Jmeter and Selenium Grid. 1- Install Java 7 or later If necessary 2- Download latest Jmeter version 3.0 or higher. 3- Download Jmeter PluginsManager JAR file and...
By | 2017-05-11T01:07:34+00:00 April 25th, 2016|RobotFramework, Test Automation|12 Comments

About the Author:

Onur Baskirt
Onur Baskirt is a senior IT professional with 10+ years of experience. He worked at Bahçesehir University, ST Microelectronics, Huawei and Ericsson as research assistant, design verification engineer and software test leader. Also, he worked as software test leader and software operations manager at Turkey's biggest technology retailer, Teknosa. Now, he is working as Head of Software Testing and Manager of two Development Teams at His current research areas are technical software testing, programming, and computer science. Formerly, he has several research works and papers on digital chip design & verification. His hobbies are sport, dancing, traveling, and nutrition. You can find detailed information about him on his linked-in page.


  1. Amol April 12, 2017 at 6:02 pm - Reply

    Hi Onur,

    Really nice information which presented in a way that everyone can understand & implement, I am beginner in Robot Framework tool, on first day of learning after installation of Python, wxPython, Robot Framework, RIDE, I execute your script but it showing one error message and test case get failed.

    Please check below log after execution :-

    Note : I just changed project name to SAMSLoginTest instead of LinkedinLoginTest.
    Starting test: SAMSLoginTest.Login Should Failed With Unregistered Mail Adress
    20170412 20:21:32.448 : INFO : Opening browser ‘Firefox’ to base url ‘’
    20170412 20:21:32.461 : FAIL : No browser is open
    20170412 20:21:32.462 : WARN : Keyword ‘Capture Page Screenshot’ could not be run on failure: No browser is open
    20170412 20:21:32.464 : FAIL :
    WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.

    Ending test: SAMSLoginTest.Login Should Failed With Unregistered Mail Adress

    Could you kindly let me know what I should need to fix this?


    • Onur Baskirt
      Onur Baskirt April 12, 2017 at 11:13 pm - Reply

      Hi, After Selenium 3.0, Selenium needs gecko driver. I think the problem is about this. Please check this article.

      I solved the Selenium 3.0 and Robot Framework integration for Chrome. I explained how I did those settings in the article. You can do the similar settings for IE and Firefox also. This may be a good guidance for you. I hope it helps.

  2. Shenthilkumar Subburam May 10, 2017 at 6:01 pm - Reply

    Dear Onur,

    First I tried with firefox. I got below error.
    WebDriverException: Message: ‘geckodriver’ executable needs to be in PATH.

    As per your link
    I downloaded C:\Marionette#geckodriver.exe
    Still I get same error.

    Then I tried it with IE, I get below error.
    WebDriverException: Message: ‘IEDriverServer.exe’ executable needs to be in PATH. Please download from and read up at

    My task is to try with IE.

    Can you please help?

    • Onur Baskirt
      Onur Baskirt May 10, 2017 at 11:27 pm - Reply


      I tried to fix problem but I also failed. I think it is about compatibility issue.

      First, you need to add new environmental variables
      for Chrome: and it should equal to Chrome driver path such as C:\Selenium\drivers\chrome\chromedriver.exe (download and save the driver from its download page.)
      for Firefox: webdriver.gecko.driver and it should equal to Firefox driver path such as C:\Selenium\drivers\firefox\geckodriver64.exe (download and save the driver from its download page.)

      Then, update your selenium, python, robotframework libraries and rerun your tests with Chrome and Firefox. I opened the browser without problem but I also got some weird compatibility errors.

    • Onur Baskirt
      Onur Baskirt May 11, 2017 at 1:00 am - Reply

      I solved the Selenium 3.0 and Robot Framework integration for Chrome. I explained how I did those settings in the article. You can do the similar settings for IE and Firefox also. This may be a good guidance for you. I hope it helps.

  3. Mahsum Akbas May 11, 2017 at 10:24 am - Reply

    Hi Amol and Shenthilkumar
    problem is driver file is not on the PATH. You can solve problem as described in the following video:

  4. shivaram June 2, 2017 at 12:46 pm - Reply

    Hi Onur, I have installed all the prerequisites as per your blog. However when I run the command, ‘’ from command prompt, a word file with the same name ‘’ which is in the location “C:\Python27\Scripts” instead of launching RIDE.
    I dont understand where I made a mistake. Can you guide me on how I can solve this issue ?

    • Onur Baskirt
      Onur Baskirt June 3, 2017 at 1:04 am - Reply

      Did you set the python paths correctly? But the problem is still going on, it is not necessary to use RIDE IDE. Use Sublime text or another editor and run robot command to run your tests. It is described in the article. If you did the same setup, it should work. Try to setup from the beginning again. Maybe you missed something but I also not figure out what did you missed. I am sorry. 🙁

  5. Kashika Gupta June 22, 2017 at 8:16 am - Reply

    Hi Onur,

    I am new to robot framework. I am done with installing RIDE using python. But I actually need to deal with .net code. So, i need to install ironpython for the same.
    At a point you said that robot framework works with python, jython or ironpython. But at some other point you mentioned that RIDE supports only python. Can you please help me in clearing the above statements?

    And one more favour, can you provide me with the steps to use robot framework using ironpython as all the steps available online are a bit ambigious and I didnt succeed with the setup.


  6. hitesh September 29, 2017 at 4:38 pm - Reply

    I am new in Robot framework . Can you please provide the soap ui integration with python

Leave A Comment