Skip to main content

Robot Framework mini-framework.

Project description

RobotFramework-Zoomba

PyPI version Downloads Build Status Coverage Status CodeFactor Total alerts

What is RobotFramework-Zoomba?

Robotframework-Zoomba is a collection of libraries spanning GUI, REST API, and SOAP API automation using Robot Framework. These libraries are extensions of existing libraries SeleniumLibrary, Requests, and SudsLibrary.

Looking for our extension of AppiumLibrary (DesktopLibrary and MobileLibrary)? Check out our new repo RobotFramework-ApplicationLibrary!

Zoomba adds a significant amount of data validation support for REST and SOAP API and extends functionality for typical Web GUI automation.

As a team beginning the journey of automation with Robot Framework - we found that there was some time spent ramping up our libraries and Robotframework-Zoomba aims to make that process easier for new projects.

See the Keyword Documentation for the API, SOAP, or GUI library for more specific information about the functionality.

Example tests can be found in the samples directory.

Some Features of the Library

GUI Library:

When working with web pages of varying load times you probably find yourself running a lot of calls like so:

Wait Until Page Contains Element      locator
Click Element                         locator

For ease of use we have combined a lot of these into simple one line keywords:

Wait For And Click Element      locator
Wait For And Click Text         text
Wait For And Select From List   list_locator    target_locator

Another keyword that is particularly useful is for when you are waiting for javascript to complete on a page before proceeding:

Wait For And Click Element       locator that leads to a new page with javascript     
Wait Until Javascript Is Complete
Wait For And Click Element       locator

API Library:

This library wraps the requests library so we have created a set of keywords to easily allow users to make requests in a single keyword:

Call Get Request       ${headers_dictionary}    endpoint    query_string
Call Post Request      ${headers_dictionary}    endpoint    query_string     ${data_payload}

After receiving your data we made it incredibly easy to validate it. Validate Response Contains Expected Response takes your received request and compares it to your expected data. If there are any errors found it will report line by line what they are.

Validate Response Contains Expected Response    ${json_actual_response}      ${json_expected_response}

If there is any mismatched data it will look something like this:

Key(s) Did Not Match:
------------------
Key: pear
Expected: fish
Actual: bird
------------------
Full List Breakdown:
Expected: [{'apple': 'cat', 'banana': 'dog', 'pear': 'fish'}, {'apple': 'cat', 'banana': 'mice', 'pear': 'bird'}, {'apple': 'dog', 'banana': 'mice', 'pear': 'cat'}]
Actual: [{'apple': 'cat', 'banana': 'dog', 'pear': 'bird'}]

Please see differing value(s)

If you wanted to ignore a key such as the 'update_date' you would simply set the 'ignored_keys' variable to that key or a list of keys:

Validate Response Contains Expected Response    ${json_actual_response}      ${json_expected_response}      ignored_keys=update_date
Validate Response Contains Expected Response    ${json_actual_response}      ${json_expected_response}      ignored_keys=${list_of_keys}

Getting Started

The Zoomba library is easily installed using the setup.py file in the home directory. Simply run the following command to install Zoomba and it's dependencies:

pip install robotframework-zoomba

If you decide to pull the repo locally to make contributions or just want to play around with the code you can install Zoomba by running the following from the root directory:

pip install .

or if you intend to run unit tests:

pip install .[testing]

To access the keywords in the library simply add the following to your robot file settings (depending on what you need):

*** Settings ***
Library    Zoomba.APILibrary
Library    Zoomba.GUILibrary
Library    Zoomba.SOAPLibrary

Examples

Example tests can be found in the samples directory.

The test directory may also contain tests but be aware that these are used for testing releases and may not be as straight forward to use as the ones in the samples directory.

Contributing

To make contributions please refer to the CONTRIBUTING guidelines.

See the .githooks directory for scripts to help in development.

Support

General Robot Framework questions should be directed to the community forum.

For questions and issues specific to Zoomba please create an issue here on Github.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework-zoomba-3.1.3.tar.gz (32.7 kB view details)

Uploaded Source

Built Distribution

robotframework_zoomba-3.1.3-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file robotframework-zoomba-3.1.3.tar.gz.

File metadata

  • Download URL: robotframework-zoomba-3.1.3.tar.gz
  • Upload date:
  • Size: 32.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.14

File hashes

Hashes for robotframework-zoomba-3.1.3.tar.gz
Algorithm Hash digest
SHA256 038265f6ac4870c22671ee2ad976c951d9ca18591db8c3e884bafe7eaec5f1d3
MD5 196f09489e832dcc7b66bd4bb1606f74
BLAKE2b-256 fa3a46360c40d79e0c6e3f5643a3dd97fb5988c30cdd7c2d01b292989198f73f

See more details on using hashes here.

File details

Details for the file robotframework_zoomba-3.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_zoomba-3.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 bc8825e1d7f266e568c1d12104dce0453cea6dfe09b6a229f0d7357f8600a3ec
MD5 2e5666f63eb9856678eb2e19efc997c2
BLAKE2b-256 c9ab85f5202e50f9705039c632b61ddba165effc5c4e8c0d28b11d1179bf62b1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page