Skip to main content

Robot Framework listener to generate understandable output of test results

Project description

rf-result-analyzer

rf-result-analyzer is a tool designed to analyze Robot Framework test results with AI-powered insights using AnythingLLM. The repository includes demo tests, a custom listener to capture test execution data, and prompts for automated failure analysis and improvement suggestions.

Project

This project is providing a global listener to Robot Framework to make test output human-readable by generating a txt file.

Listener is released as a PyPI package

To use the listener, first install it via PyPI, then run robot --listener RobotFrameworkResultAnalyzer /path/to/robot/tests

The listener by default will create a test_summary.txt file in the location where you run the robot command. Use this file to check if your test cases are human-readable. If they are, then they can also be used with GenAI LLM solutions to help debug the test case results.

Development environment

To use the GenAI-powered bot, you need to have Ollama installed as well; otherwise, this is purely a Python-based project.

Requirements

  1. Python 3.9 or higher
  2. pip for Python
  3. Ollama

Setup

  1. Clone the repository
  2. Run pip3 install -r dev-requirements.txt

Running the local project

To test out the demo environment, run the command invoke demo. This will run robot tests under demo/robot and generate test_summary.txt under the demo folder.

test_summary.txt is generated by the listener code when the tests are executed.

Check invoke demo -h for more options.

Using Ollama with analyze "bot"

To ask the GenAI "bot" to analyze test results, run invoke demo -a to automatically provide the test_summary.txt to an LLM model, which will print to the console possible fixes for the test cases if they failed. Feel free to change the default model to something more appropriate to get better results.

Contributing to the Project

Thank you for your interest in contributing to our project! Here are some guidelines to help you get started:

How to Contribute

  1. Fork the Repository: Start by forking the repository to your own GitHub account.

  2. Clone the Repository: Clone the forked repository to your local machine using:

    git clone https://github.com/Atihinen/rf-result-analyzer.git
    
  3. Create a Branch: Create a new branch for your feature or bug fix:

    git checkout -b feature-or-bugfix-name
    
  4. Make Changes: Make your changes to the codebase. Ensure your code follows the project's coding standards and conventions.

  5. Commit Changes: Commit your changes with a clear and descriptive commit message:

    git commit -m "Description of the changes made"
    
  6. Push Changes: Push your changes to your forked repository:

    git push origin feature-or-bugfix-name
    
  7. Create a Pull Request: Open a pull request to the main repository. Provide a clear description of your changes and any related issues.

Reporting Issues

If you encounter any issues or have suggestions for improvements, please open an issue in the repository. Provide as much detail as possible to help us understand and address the problem.

Getting Help

If you need help or have questions, feel free to reach out by opening an issue.

Thank you for contributing!

Project details


Download files

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

Source Distribution

robotframeworkresultanalyzer-1.0.0.tar.gz (16.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robotframeworkresultanalyzer-1.0.0-py3-none-any.whl (17.1 kB view details)

Uploaded Python 3

File details

Details for the file robotframeworkresultanalyzer-1.0.0.tar.gz.

File metadata

File hashes

Hashes for robotframeworkresultanalyzer-1.0.0.tar.gz
Algorithm Hash digest
SHA256 6a70bd27fce7ca6577f7403095080a54def4a95b38f4cf575fab2be5772a0c22
MD5 c801beadb0e6b93b03b43616f073b731
BLAKE2b-256 0932c3a7b78cbb53b180aaf94434a61fbb706867e43613d1bce4b0d6fe12ecba

See more details on using hashes here.

File details

Details for the file robotframeworkresultanalyzer-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframeworkresultanalyzer-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 222697ff97646eaa07b027f18011b0d9c7d764b633931b7072e7904cce88cc71
MD5 83224547c5728ac8ebe1934cc809da1b
BLAKE2b-256 9573d138568f7a6f9948c7465b948311ac8b90c07b787c9131fa14d6b4a588f6

See more details on using hashes here.

Supported by

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