Features

Robot Framework Automated WebDriver Testing

See our RobotFramework example repository for a first example on how to run RobotFramework tests on TestingBot.

With SeleniumLibrary you can run WebDriver tests with Robot Framework.
Robot Framework is a test automation framework to run acceptance tests.

The Robot test framework allows you to build easy to read test cases, using keyword driven and behavior-driven approaches.
The framework provides reports, in HTML format.

Setting up Robot Framework

Make sure you've installed pip, then to install the necessary libs:

pip install robotframework-seleniumlibrary requests

Running your first test

Below is an example on how to run a simple test on Firefox. When the test has finished, the test name and success state is sent to TestingBot so you can see the test success/failures in our dashboard.

Save the example below in a test.robot file:

*** Settings ***

Library  SeleniumLibrary
Library  TestingBot

Test Setup  Open test browser
Test Teardown  Close test browser

*** Variables ***

${CREDENTIALS}  key:secret

*** Test Cases ***

Simple Test
	Go to  https://www.google.com
	Page should contain  Google

*** Keywords ***

Open test browser
	Open browser  about:  firefox
	...  remote_url=http://${CREDENTIALS}@hub.testingbot.com/wd/hub
	...  desired_capabilities=browserName:${BROWSER},version:${VERSION},platform:${PLATFORM}

Close test browser
	...  Report TestingBot status
	...  ${SUITE_NAME} | ${TEST_NAME}
	...  ${TEST_STATUS}  ${CREDENTIALS}
	Close all browsers

Save the code below in a TestingBot.py file:

import requests
from robot.libraries.BuiltIn import BuiltIn

def report_testingbot_status(name, status, credentials):
        selenium = BuiltIn().get_library_instance('SeleniumLibrary')
        session_id = selenium.driver.session_id

        payload = {'test[name]': name, 'test[success]': int(status == 'PASS')}
        key, secret = credentials.split(':')

        url = 'https://api.testingbot.com/v1/tests/{0}'.format(session_id)
        response = requests.put(url, data=payload, auth=(key, secret))
        assert response.status_code == 200, response.text

To run the test, run this command:

PYTHONPATH=$PYTHONPATH:. robot --variable BROWSER:chrome --variable VERSION:latest --variable PLATFORM:MAC test.robot

Once the test finished running, you should see it in the member dashboard. Use the variables to run the test on different platforms/browsers/versions.

Specifying the operating system, browser and version

To let TestingBot know on which browser/platform you want to run your test on, you need to specify the browsername, version, OS and other optional options in the capabilities field.

desired_capabilities=browserName:${BROWSER},version:${VERSION},platform:${PLATFORM}

To see how to do this, please select a combination of browser, version and platform in the drop-down menus below.