Skip to main content

Imports robot result(s) to TestResultWebApp database

Project description

RobotLog2DB

Table of Contents

Getting Started

RobotLog2DB is a command-line tool that enables you to import Robot Framework XML result files into TestResultWebApp's database for presenting an overview about the whole test execution and detail of each test result.

RobotLog2DB tool is operating system independent and only works with Python 3.

How to install

RobotLog2DB can be installed in two different ways.

  1. Installation via PyPi (recommended for users)

    pip install robotframework-robotlog2db
    

    RobotLog2DB in PyPi

  2. Installation via GitHub (recommended for developers)

    • Clone the robotframework-robotlog2db repository to your machine.

      git clone https://github.com/test-fullautomation/robotframework-robotlog2db.git
      

      RobotLog2DB in GitHub

    • Install dependencies

      RobotLog2DB requires some additional Python libraries. Before you install the cloned repository sources you have to install the dependencies manually. The names of all related packages you can find in the file requirements.txt in the repository root folder. Use pip to install them:

      pip install -r ./requirements.txt
      

      Additionally install LaTeX (recommended: TeX Live). This is used to render the documentation.

    • Configure dependencies

      The installation of RobotLog2DB includes to generate the documentation in PDF format. This is done by an application called GenPackageDoc, that is part of the installation dependencies (see requirements.txt).

      GenPackageDoc uses LaTeX to generate the documentation in PDF format. Therefore GenPackageDoc needs to know where to find LaTeX. This is defined in the GenPackageDoc configuration file

      packagedoc\packagedoc_config.json
      

      Before you start the installation you have to introduce the following environment variable, that is used in packagedoc_config.json:

      • GENDOC_LATEXPATH : path to pdflatex executable
    • Use the following command to install RobotLog2DB:

      python setup.py install
      

After succesful installation, the executable file RobotLog2DB will be available (under Scripts folder of Python on Windows and ~/.local/bin/ folder on Linux).

In case above location is added to PATH environment variable then you can run it directly as operation system's command.

Usage

RobotLog2DB requires the Robot Framework result file(s) which contains the output result in XML format (default name is output.xml) and TestResultWebApp's database information for importing.

Use below command to get tools's usage

RobotLog2DB -h

The usage should be showed as below:

usage: RobotLog2DB (RobotXMLResult to TestResultWebApp importer) [-h] [-v] [--recursive] [--dryrun] [--append] [--UUID UUID] [--variant VARIANT] [--versions VERSIONS] [--config CONFIG]
                                                                 resultxmlfile server user password database

RobotLog2DB imports XML result files (default: output.xml) generated by the Robot Framework into a WebApp database.

positional arguments:
resultxmlfile        absolute or relative path to the result file or directory of result files to be imported.
server               server which hosts the database (IP or URL).
user                 user for database login.
password             password for database login.
database             database schema for database login.

optional arguments:
-h, --help           show this help message and exit
-v, --version        version of the RobotLog2DB importer.
--recursive          if set, then the path is searched recursively for output files to be imported.
--dryrun             if set, then verify all input arguments (includes DB connection) and show what would be done.
--append             is used in combination with --UUID <UUID>.If set, allow to append new result(s) to existing execution result UUID in --UUID argument.
--UUID UUID          UUID used to identify the import and version ID on webapp. If not provided RobotLog2DB will generate an UUID for the whole import.
--variant VARIANT    variant name to be set for this import.
--versions VERSIONS  metadata: Versions (Software;Hardware;Test) to be set for this import (semicolon separated).
--config CONFIG      configuration json file for component mapping information.
--interface {db,rest}
                     database access interface.
--testrunurl TESTRUNURL
                     link to test execution job: Jenkins job, Gitlab CI/CD pipeline, ...

The below command is simple usage with all required arguments to import Robot Framework results into TestResultWebApp's database:

RobotLog2DB <resultxmlfile> <server> <user> <password> <database>

Besides the executable file, you can also run tool as a Python module

python -m RobotLog2DB <resultxmlfile> <server> <user> <password> <database>

Example

In order the import the Robot Framework result(s) to TestResultWebApp's database, we need the Robot Framework result file (output.xml).

So, firstly execute the Robot Framework testcase(s) to get the Robot Framework result file.

Sample Robot Framework testcase which contains neccessary information for importing into TestResultWebApp's database:

*** Settings ***
# Test execution level
Metadata   project        ROBFW              # Project/Variant
Metadata   version_sw     SW_VERSION_0.1     # Software version
Metadata   version_hw     HW_VERSION_0.1     # Hardware version
Metadata   version_test   TEST_VERSION_0.1   # Test version

# File/Suite level
Documentation             This is description for Robot Framework test file
Metadata    author        Tran Duy Ngoan (RBVH/ECM1)
Metadata    component     Import_Tools
Metadata    testtool      Robot Framework 3.2rc2 (Python 3.9.0 on win32)
Metadata    machine       %{COMPUTERNAME}
Metadata    tester        %{USER}

*** Test Cases ***
Testcase 01
   [Tags]   ISSUE-001   TCID-1001   FID-112   FID-111
   Log       This is Testcase 01

Testcase 02
   [Tags]   ISSUE-RTC-003   TCID-1002   FID-113
   Log       This is Testcase 01

Notes:

In case you are using RobotFramework AIO, these below Metadata definitions will be handled implicitly by RobotFramework Testsuites Management library within Suite Setup.

  • project
  • version_sw
  • version_hw
  • version_test
  • machine
  • tester
  • testtool

So that you do not need to define them in your Robot Framework testcase(s).

However, if these Metadata definitions are already missing in the Robot Framework output result file, you can specific them when executing the RobotLog2DB tool with the optional arguments:

  • --variant VARIANT: Project definitions
  • --versions VERSIONS: Versions (Software;Hardware;Test) definitions.
  • --config CONFIG: Project, versions or component mapping definitions.

Please refer to RobotLog2DB tool's Documentation for more detail about these optional arguments.

After getting Robot Framework result file (output.xml), use below sample command to import that result into TestResultWebApp's database which is hosted at localhost as below sample command

RobotLog2DB output.xml localhost test_user test_pw test_db

Then, open TestResultWebApp with your favourite browser and you will see how wonderful the execution result is displayed as below figures:

Dashboard view:

Dashboard view

Datatable view:

Datatable view

Contribution

We are always searching support and you are cordially invited to help to improve RobotLog2DB tool.

Sourcecode Documentation

To understand more detail about the tool's features, parameters and how Robot Framework testcase information will be displayed on TestResultWebApp, please refer to RobotLog2DB tool's Documentation.

Feedback

Please feel free to give any feedback to us via

Email to: Thomas Pollerspöck

Issue tracking: RobotLog2DB Issues

About

Maintainers

Thomas Pollerspöck

Tran Duy Ngoan

Contributors

Nguyen Huynh Tri Cuong

Mai Dinh Nam Son

Tran Hoang Nguyen

Holger Queckenstedt

License

Copyright 2020-2023 Robert Bosch GmbH

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

License: Apache v2

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

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-robotlog2db-1.5.4.tar.gz (589.0 kB view details)

Uploaded Source

Built Distribution

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

robotframework_robotlog2db-1.5.4-py3-none-any.whl (581.5 kB view details)

Uploaded Python 3

File details

Details for the file robotframework-robotlog2db-1.5.4.tar.gz.

File metadata

File hashes

Hashes for robotframework-robotlog2db-1.5.4.tar.gz
Algorithm Hash digest
SHA256 afa49ebe41e0ba8b8b092f2b8c6777d797ac7286639fcb2c8ddcf27de8e16749
MD5 c0c08928d045cd391ad3813145f37cdb
BLAKE2b-256 bbfa3c81992f02bbfe575122e666101e5d40f974c4eda82d30b06bd215f33957

See more details on using hashes here.

File details

Details for the file robotframework_robotlog2db-1.5.4-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_robotlog2db-1.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 241f088a80f359bf1ce4b3f810f9cf2de63bafaf95f339b08e01a0b73064c290
MD5 221fb9ada8d4229dc0dd1ffacca1d7f4
BLAKE2b-256 817d6c3464b5db657e12f61e9303aa6a54116bad123c3fe0e230bed4757a263e

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