Research
Security News
Quasar RAT Disguised as an npm Package for Detecting Vulnerabilities in Ethereum Smart Contracts
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
robotframework-zoomba
Advanced tools
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.
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.
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
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}
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
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.
To make contributions please refer to the CONTRIBUTING guidelines.
See the .githooks directory for scripts to help in development.
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.
FAQs
Robot Framework mini-framework.
We found that robotframework-zoomba demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 6 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket researchers uncover a malicious npm package posing as a tool for detecting vulnerabilities in Etherium smart contracts.
Security News
Research
A supply chain attack on Rspack's npm packages injected cryptomining malware, potentially impacting thousands of developers.
Research
Security News
Socket researchers discovered a malware campaign on npm delivering the Skuld infostealer via typosquatted packages, exposing sensitive data.