Robot Framework Integration Plugin
Project description
Netbox nb-robot
The nb-robot plugin extends the capabilities of NetBox by seamlessly integrating Robot Framework, a widely used open-source test automation framework. Here’s what this plugin brings to the table:
1 - Test Automation Integration:
- With the nb-robot plugin, NetBox users gain the ability to load and execute their Robot Framework test suites directly from within the NetBox web interface. This integration streamlines the process of running tests against network devices, configurations, and other critical infrastructure managed in NetBox.
- Whether you’re validating network changes, checking connectivity, or ensuring proper configurations, the plugin empowers you to automate these tasks effortlessly.
2 - Model-Based Testing:
- Leveraging NetBox’s existing data models (such as devices, interfaces, circuits, and more), the nb-robot plugin creates a vital bridge between network documentation and test automation.
- Users can associate specific test cases or entire test suites with NetBox models. For example, you can link a Robot Framework test suite to a particular switch or router model within NetBox.
- This model-based approach simplifies validation: Want to verify that a new VLAN configuration is correctly applied across all relevant devices? Associate your test suite with the VLAN model, and let the plugin handle the rest.
Compatibility
| Plugin Version | NetBox Version | Tested on |
|---|---|---|
| 1.0.0 | > 4.1.0 | 4.1.0 |
Installation
The plugin is available as a Python package in pypi and can be installed with pip
pip install nb-robot
Enable the plugin in /opt/netbox/netbox/netbox/configuration.py:
PLUGINS = ['nb_robot']
Create a project folder and give netbox user read and write permissions over it
$ sudo mkdir /opt/netbox/netbox/robot_projects
$ sudo chown --recursive netbox /opt/netbox/netbox/robot_projects
Configuration
PLUGINS_CONFIG = {
"nb_robot": {
"projects_path": <custom_path> ## Path for storing Robot Framework project files
},
}
Using Variables
With NBRobot you can inject variables inside your Test Suite in two ways, as a simple variable or in a Data Driven stile with Test Template
Simple Variable
After creating the variable devices inside NBRobot plugin you can callit inside your Test Suite like above:
*** Test Cases ***
Test Case Device Iter
FOR ${device} IN @{devices}
Log ${device.site}
END
DataDriven model
In the DataDriven model NBRobot creates a Test Case based in the Test Template for each model inside your variable
*** Settings ***
Test Template Check Naming Conventions
*** Test Cases ***
Check ${device} Naming Conventions
*** Keywords ***
Check Naming Conventions
[Arguments] ${device}
Log Many ${device} ${device.site}
Roadmap
- Allow users to setup variable values before running a Project
- Allow users to compare two Project Jobs
- Create API endpoint to Run and gather Suite results
- Create Unit Tests
Screenshots
Project Views
Project Jobs
Result View
Result XML
Result Table
Resource View
Resource Source
Variable View
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file nb_robot-1.0.0.tar.gz.
File metadata
- Download URL: nb_robot-1.0.0.tar.gz
- Upload date:
- Size: 25.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c3fe2427a594b5afd04a1fe030d9be3f6d795fed0a1b515d0ae2a4f2e70df3c0
|
|
| MD5 |
cd02da7bb3c27a5ed4a6b67202b3cee3
|
|
| BLAKE2b-256 |
80b640529a11d23eb14dade1c10d511ef5e45c46713cffcde16d2f09666ce9f7
|
File details
Details for the file nb_robot-1.0.0-py3-none-any.whl.
File metadata
- Download URL: nb_robot-1.0.0-py3-none-any.whl
- Upload date:
- Size: 33.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.8.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
43c3b8f3255ac6ba2e050aeaad98ed0223a70b2ee1fd3ec5388efbfffa5a9978
|
|
| MD5 |
b0f4bdf95c39edcdf8fee509ef5cb002
|
|
| BLAKE2b-256 |
3c5312b83aeb7c19586232cc5cbd969d4429746f39c887c55658256ba61a1651
|