https://github.com/bekirbostanci/ros2_robotframework
Test ROS2 package with Robot Framework
https://github.com/bekirbostanci/ros2_robotframework
robotframework robotframework-library ros2 ros2-humble
Last synced: 18 days ago
JSON representation
Test ROS2 package with Robot Framework
- Host: GitHub
- URL: https://github.com/bekirbostanci/ros2_robotframework
- Owner: bekirbostanci
- License: other
- Created: 2025-09-07T22:25:48.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2025-10-05T08:51:20.000Z (about 1 month ago)
- Last Synced: 2025-10-05T09:08:05.706Z (about 1 month ago)
- Topics: robotframework, robotframework-library, ros2, ros2-humble
- Language: Python
- Homepage:
- Size: 3.12 MB
- Stars: 20
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ROS2 RobotFramework
A comprehensive Robot Framework library for testing and automating ROS2 applications.
Complete API reference, examples, and guides **[Documentation](https://ros2-robotframework.readthedocs.io/main/)**

## Key Features
- **Core ROS2 Operations**: Topics, services, nodes, parameters, and launch management
- **Native ROS2 Integration**: Direct Python node operations for high-performance testing
- **Navigation2 Support**: Complete navigation testing with pose management and costmap operations
- **Rich Reporting**: HTML reports with detailed logs and test metrics
- **CI/CD Ready**: Seamless integration with automated testing pipelines
- **Accessible**: Keyword-driven testing that non-programmers can understand
## Installation
```bash
# From source
git clone https://github.com/bekirbostanci/ros2_robotframework.git
cd ros2_robotframework
pip install -e .
# From PyPI (when published)
pip install ros2-robotframework
```
**Requirements**: ROS2 (Jazz/Humble), Python 3.8+, ROS2 message packages
## Quick Start
```robot
*** Settings ***
Library ROS2ClientLibrary use_native_node=True
*** Test Cases ***
Test ROS2 System
# Check if a topic exists
${exists}= Topic Exists /chatter
Should Be True ${exists}
# List all topics
${topics}= List Topics
Log Available topics: ${topics}
```
**Run Examples:**
```bash
robot examples/basics/ros2_basic_test.robot
robot examples/medium/nav2_simple_monitoring_test.robot
```
## Test Results

> **Tested with**: Navigation2, TurtleBot3, and various ROS2 applications. Works with any ROS2 project.
## Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
## License
Apache License 2.0 - see [LICENSE](LICENSE) for details.