Skip to main content

A CLI Tool to generate a Test Documentation for your RobotFramework Test Scripts.

Project description

Robot Framework TestDoc

GitHub Project

Link to GitHub Project: robotframework-testdoc

Statistics

Release Pipeline
PyPI - Version
PyPI - Python Version
PyPI Downloads - Total
PyPI Downloads - Monthly

Installation

Install the tool using the following command:

pip install robotframework-testdoc

[!IMPORTANT] Preconditions: Python & Pip Installation.

Usage

Basic Usage

testdoc suite_directory output.html
# or
testdoc suite_file output.html

Extended Usage

testdoc [OPTIONS] suite_directory output.html

[!TIP] Included Help: Please execute testdoc --help for further details about the commandline arguments or see the examples below.

Plugin Usage

You can use the testdoc tool also as plugin integration.
You have two option to use it this way:

  1. You can write your own HTML page as jinja2 template, add this HTML template as CLI argument while generating the docs and you will get your own HTML style as documentation page.
  2. You can use the mkdocs integration to define your own mkdcs template as CLI argument and the testdoc tool will internally take care of the mkdocs page generation.

For further details about the usage, please read the plugin usage documentation.

Examples

Below you can find some example of using the testdoc library.

[!TIP] Of course, you can combine all of them!

# Generating docu without option
testdoc tests/ TestDocumentation.html

# Generating docu with new title, new root suite name, new root suite documentation text & new metadata
testdoc -t "Robot Framework Test Automation" -n "System Tests" -d "Root Suite Documentation" -m "Root Suite Metadata" tests/ TestDocumentation.html

# Generating docu with source prefix to navigate directly to its gitlab file path
testdoc -s "https://gitlab.com/myrepository" tests/ TestDocumentation.html

# Generating docu only with specific mentioned tags to include & exclude 
testdoc -i ManagementUI -e LongTime tests/ TestDocumentation.html

# Generating docu only with multiple specific mentioned tags to include
testdoc -i ManagementUI -i MQTT tests/ TestDocumentation.html

# Generating docu only with new metadata for root suite object
testdoc -m Version=0.1.1-dev -m Tester=RobotExpert tests/ TestDocumentation.html

# Generating docu - hide tags information
testdoc --hide-tags tests/ TestDocumentation.html

# Generating docu - hide test case documentation texts
testdoc --hide-test-doc tests/ TestDocumentation.html

# Generating docu - hide test suite documentation texts
testdoc --hide-suite-doc tests/ TestDocumentation.html

# Generating docu - hide source information
testdoc --hide-source tests/ TestDocumentation.html

# Generating docu - hide keyword information (keyword calls in tests)
testdoc --hide-keywords tests/ TestDocumentation.html

Visualization of Keywords

Keywords are visualized in a specific design and to replicate the robot framework test case structure (model) as best as possible.

User / Library Keywords called in a Test Case Body

This view does actually replicate the robot framework suite file with the *** Test Cases *** section, the Test Case Name and the Test Case Body.

alt text

User Keyword defined in a Test Suite

alt text

Robot Framework Tags

The commandline arguments include & exclude have more or less the same functionality like in the known robot ... command.
You can decide to weither include and / or exclude specific test cases into the test documentation.

External Configuration File

The idea of the external configuration file is, having a central place for passing the known CMD arguments via file instead of CMD parameters.
This will keep your CMD line call simple & clean.

For using this config file, just call the following command:

# Generate docu with options defined in TOML file
testdoc -c path/to/config.toml tests/ TestDocumentation.html

pyproject.toml vs. custom toml file

Using the pyproject requires to define the testdoc sections with the prefix tool.
Example section start: [tool.testdoc]

Using your own custom toml-file, does not require you to use the prefix. Here, you can just use [testdoc] as section header.

Example Configuration File

[tool.testdoc]
title = "New title of HTML document"
name = "New name of root suite element"
doc = "New doc text of root suite element"
sourceprefix = "gitlab::https://gitlab.com/myrepo/repo_path"
include = ["TagA", "TagB"]
exclude = ["TagC"]
hide_tags = true
hide_test_doc = true
hide_suite_doc = true
hide_source = true
hide_keywords = true
style = "blue"
verbose_mode = false

[tool.testdoc.metadata]
Author = "Your-Name"
Version = "1.0.0"
Source = "AnySourceAsMetaData"

[tool.testdoc.colors]
# Use predefined theme:
default = "blue"
# OR
# Use custom colors:
background = "#000028"
inner_color = "#000028"
button_active_color = "#193966"
button_hover_color = "#193966"
border_color = "#CCCCCC"
text_color = "#CCCCCC"
title_color = "#00ffb9"
robot_icon = "#00ffb9"
code_area_background = "#303030"
code_area_foreground = "#f1f1f1"

HTML Template Selection

You can choose between multiple HTML template for the design of your test documentation.
These template can be configured via cli arguments or within a .toml configuration file with the parameter html_template (-ht / --html-template).

Default Design

  • v2

Available HTML Templates - NOT RECOMMENDED

You can choose one of the following designs:

  • v1
  • v2

Version 1

Visit Tests

alt text

Version 2

Visit Tests on Root Suite Level

alt text

Visit Tests on Suite File Level

alt text

Theme Selection / Color Configuration

You can select between several themes (color configurations) for your HTML document to create!

[!CAUTION] This is only possible via toml-configuration file, but not via cmd args directly!

Default Themes

There are a few predefined default themes available that you can choose via the toml-configuration file OR cli.
Therefore, please use the following syntax: for the toml file

[colors]
# Use the default theme
default = "default"
default = 0
# Use the dark theme
default = "dark"
default = 1
# Use the blue theme
default = "blue"
default = 2
# Use the robot theme
default = "robot"
default = 3
# Use the dark robot theme
default = "robot_dark"
default = 4
# Use the green theme
default = "green"
default = 5

For setting it via CLI, please use the following:

# Applying dark theme
testdoc ... -S dark PATH OUTPUT_FILE

# Applying blue theme
testdoc ... --style blue PATH OUTPUT_FILE

[!TIP] You can select the default theme using either a string value or an integer value.

Custom Themes

You can apply your own custom theme to modify the colors of the created HTML document.
Use the following syntax & parameters in your toml-configuration file, to overwrite the predefined themes:

[colors]
background = "#000028"
inner_color = "#000028"
button_active_color = "#193966"
button_hover_color = "#193966"
border_color = "#CCCCCC"
text_color = "#CCCCCC"
title_color = "#00ffb9"
robot_icon = "#00ffb9"
code_area_background = "#303030"
code_area_foreground = "#f1f1f1"

[!TIP] Please make sure to configure all available color values from this example — missing values may cause layout or rendering issues in the generated HTML document!

Default Themes - Screenshot

Dark

alt text

Blue

alt text

Robot / Default

alt text

Contribution & Development

See Development.md for more information about contributing & developing this library.

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

robotframework_testdoc-0.4.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

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

robotframework_testdoc-0.4.1-py3-none-any.whl (47.9 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_testdoc-0.4.1.tar.gz.

File metadata

  • Download URL: robotframework_testdoc-0.4.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for robotframework_testdoc-0.4.1.tar.gz
Algorithm Hash digest
SHA256 2b222ce3aaf474730d64dca41dd6dc211e1589b844430dcc43711bc407f32228
MD5 bd126427f77ad3897fc680af24d3ef53
BLAKE2b-256 32beb750ef48d3b7b4ffbf2ae66943c7c0215301a2916a6d6759a7ec6b8df04a

See more details on using hashes here.

File details

Details for the file robotframework_testdoc-0.4.1-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_testdoc-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 07c547cc75be22943738566183732c5075e5c08bd9d2b312dc616c8ff804b649
MD5 1a5d21ef98eb48f26059208b11e62933
BLAKE2b-256 4f4890704855ef1f294571082cb8f4a51d1bb5fd9724f9e4e1c0ebd664b48e62

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