I recently interviewed the created of the Robot Framework Pekka Klark on my Testalks podcast. So I thought it would be a good time to create a quick robot framework tutorial on how to actually get started with RobotFramework and Java.
The Robot framework is an open source test automation framework that is based on Python and uses a keyword driven approach to test automation. Robot framework also supports Jython(Java) and IronPython(.NET). Just a heads up I’m not an expert in the Robot Framework – yet. I’m just getting started and this post is me actually learning as I go in real time. I honestly couldn’t find any clear setup instructions to get started with the Robotframework in Java.
But based on what I found in the getting started instructions and various StackOverflow conversations this is what I did. Some of these steps might not be 100% necessary but they worked on getting my example to run.
I will be posting more robot framework tutorials as I learn new things to share with others who also might be starting off.
How to Install Robot Framework
For this example, I will be using Java with Maven and will be using the Selenium2Library. Besides Selenium the Robotframework has libraries with existing keywords for lots of other technologies like:
Install RobotFramework Selenium2 Library in Java
All we need to do for this example is import a few libraries into our project Maven pom file. Let take a look by creating a simple project that includes the robot framework maven dependencies.
Create a simple project
In Eclipse select File>New>Other and in the New dialog select the Maven folder
- Select Maven Project
- Click on the Use default Workspace location click Next
- On the next screen select the default maven-archetype-quickstart option
- Click Next
- Enter the following:
- Group Id = com.testtalks.robot
- Artificat Id = javarobot
- Version = 0.0.1-SNAPSHOT
- Click Finish
Add entries to Pom file
You should now have a project called javabot. Expand it and double-click the pom.xml
Open your pom.xml file and add the following dependencies:
org.robotframework robotframework 2.8.7 com.github.markusbernhardt robotframework-selenium2library-java 22.214.171.124
Also, add the following plugin:
org.robotframework robotframework-maven-plugin 1.4.7 run
Create your first RobotFramework Java test
You don’t actually write your robot framework test in java. Robot Framework is a generic keyword driven framework that uses text files with keywords that it understands to run your tests. So in Java, all you are doing right now is creating a text file with Selenium2 keywords.
Because Robotframework comes with many ready-made built-in keywords for things like Selenium it easy to get started with a simple test and not have to write any code.
So let’s create our Java Robot project and test case.
- Under the src/test/java directory add a New Folder named robotframework/acceptance
- Click on Finish
- Right click on acceptance and select New>File
- Name the file txt
Open the Test_Case_1 text file and enter the following. Be careful spaces matter! There are two spaces between everything
*** Settings *** Documentation A resource file containing the application specific keywords Library Selenium2Library *** Test Cases *** Check out joe colantonio dot com Open Browser https://testguild.com ff Close Browser
To find out what each keyword used in this simple example and what other keywords are available to you go to the keyword documentation:
In our example, you can see that for the Open Browser keyword it opens a new browser instance given URL.
Create a Maven Run Command Goal and Run the Test
- Right click on the javarobot directory and select Run As>Run Configurations..
- In the Run Configuration dialog dbl click on the Maven Build
- Click on the Browser Workspace button and select the javarobot project as the base directory
- Under Goals enter robotframework:run
- Click on the Resolve Workspace artifacts and the Update Snapshots
- Click Apply
- Click Run
If all goes well the browser should start and navigate to joecolantonio.com without any errors.
I kept getting the error Failed to execute goal org.robotframework:robotframework-maven-plugin:1.4.6:run at first when I tried this example. It turned out to be due to me not having two spaces between my URL and the browser type I wanted to run. The Robotframework cares about proper formatting like spaces!
Robotide Eclipse IDE plugin
To avoid any issues with spaces let also install the robotide Eclipse IDE plugin for RobotFramework:
- Close eclipse
- Navigate to : https://sourceforge.net/projects/robotide/files/stable/features/
- Click on the Download content.jar
- Once the content.jar is downloaded copy it to your eclipse’s plugins and features directories
- Restart Eclipse now in your .robot file if you don’t have the correct amount of spaces between your parameters