Robot Framework IDE

Screenshot of Selenium


The Belfast Team, using RIDE with Selenium2Library, recently completed a regression smoke test suite for www.olenick.com. This regressions suite checks that all pages and links work as expected as new builds are deployed. This internal project stemmed from research planning for a testing engagement that would have utilized the Robot framework for semi-automated testing. Internally, we have been brainstorming on a way to automate regression testing for our WordPress site (www.olenick.com) and subsequent enhancement builds.

The Robot Framework IDE (RIDE) is the integrated development environment to implement and edit automated tests for the Robot Framework. The Robot Framework is a Python based, generic, keyword driven test-automation framework which is used for acceptance testing. It is an application and platform independent framework useful for creating tests for applications with several diverse interfaces. It has reporting and logging capabilities, it provides tagging to categorize and select test cases to be executed and test case and test-suite -level setup and tear down.

If someone were to ask me if it was a good tool to use if they have minimal coding experience, well my answer to that would be “yes” and “no.” The reason for this is because as a tool for basic level test automation it is indeed viable. However, my opinion is there are other tools out there that can perform this sole function for team members with less coding experience more efficiently.

A major reason that I say this is because often times what the viewer can see and do on the browser does not translate as to what RIDE can do and see.

Let me show you an example of this:

The screens below show you a script on Selenium and RIDE in which the test opens up the browser, redirects to the services page and clicks on the metrics reporting segment. This should then redirect to the linked page and confirmed it’s arrived to the correct destination by verifying the page title.

Selenium

 

Screenshot of Selenium

Screenshot of Selenium

 

The screens show the following process:

Open Browser to Base URL (Olenick Home Page) > Click link / Go to Services Page > Click on Service Wheel segment (with that Metrics ID) > Verify redirected page.

Note that this successfully passes.

 

RIDE

 

Screenshot of RIDE

Screenshot of RIDE

 

The screens show a similar process to the Selenium one:

Open Browser to Base URL (Olenick Home Page) > Click link / Go to Services Page > Hover over Service Wheel > Click on Service Wheel segment (with that Metrics ID) > Verify redirected page. This is a very similar test to the Selenium in actual fact fails, as you can see from the second screen. It should work but it doesn’t, even using the same commands and path finding as the former test case.

The reason for this instance to fail is I believe RIDE is susceptible to CSS overlay causing elements to not be visible. This is just one example. Throughout the creation of the test suite there were many instances where frames or elements were not selectable. You could maybe put this down to inexperience from the testing team, but from a user friendly perspective there are other options available.

Pros

  • The UI works well and is fairly user friendly
  • The log and output reports are extremely handy in figuring what went wrong and where
  • Open source
  • The fact that in can be quickly edited in notepad would be useful to coders
  • Suites can be easily organised, merged, separated and ran however you build it
  • Vast library of keywords and commands that can be used

Cons

  • Lengthy, intricate installation process
  • Needs many additional files and add-ons to be of actual use (iedriver, chromedriver, pygments etc)
  • Is affected by many factors such as connection speed, CSS on pages etc
  • Input such as x-paths need to be found using other applications such as the Firebug add on in Firefox
  • Compared to running tests on Selenium it seems to be noticeably slower

 

Granted they are actually marketed as different types of tools, but for a manual tester looking to automate a low level test for regression purposes Selenium would be your go-to reliable tool. It has all the commands and functions that you could possibly need for such test purposes and not to mention many add-ons are available for it too, such as the add on to use Selenium on other browsers than just Firefox.

Coders will definitely have more joy with RIDE and will perhaps argue its vastly superior potential but this tester here will quietly do without, for the time being. But by all means try RIDE out, it’s open source after all.

 

By Belfast Team, Pak Lun Shek, Test Engineer – Olenick Global, Belfast


Related Content: Automation, Functional Test Automation, Quality & Testing