Package: testbench-cli-reporter
testbench-cli-reportertestbench-cli-reporter is a cli tool to export XML reports from an TestBench instance and import test results back into it.This can be used for automated test execution with e.g. RobotFramework, triggered by a CI/CD pipeline.Supported ActionsExport XML Reportfrom TestBench projectImport test execution resultsinto TestBench projectExport actions: Create a JSON file which can be used in automatic mode to repeat your previous actions automaticallyChange connection: Change TestBench server and/or userInstallationPython 3.6 is required!pip install testbench-cli-reporterManual modeJust execute in command linetestbench-cli-reporterorTestBenchCliReporterConnect to TestBench instanceEnter TestBench ServerPS C:\Users\falka> testbench-cli-reporter
No config file given
Starting manual mode
? Enter the TestBench server address and port <host:port>:In here enter the testbench server you want to interact with.
If you don't enter a port, the default TestBench port 9443 is used.If you don't know the server adress of your testbench instance you can find it inside your iTBClient intallation folder: bin/application.confEnter CredentialNext Step is providing login data the testbench-cli-reporter should use to connect with the TestBench.Make sure the user has rights to access the test project you want to work with.? Enter your login name: testbench-user
? Enter your password: ****************Select Action? What do you want to do? (Use arrow keys)
» Export XML Report
  Import execution results
  Write history to config file
  Change connection
  QuitYou can select the action you want to do using the arrow keys.Export XML ReportExport an XML Report for test execution from the TestBench.Select a test project, test object version and test cycle you want.? What do you want to do? Export XML Report
? Select a project. TestBench Demo Agil
? Select a test object version. Version 3.0
? Select a test cycle. 3.0.1
  Selection:
    TestBench Demo Agil                             projectKey:         7917307
      Version 3.0                                   tovKey:             8678256
        3.0.1                                       cycleKey:           8684351hint:You can later use projectKey, tovKey and cycleKey in the config.json file to access the data without needing to know the name of the respective element. Elements names can change inside TestBench, Keys will remain the same. This approach can reduce maintenance effort and will increase robustness.select test theme to be used as root of report
..you can also go back if you accidently selected a wrong test theme? Please select an element to be used as the root of the report. TT: 1 TestBench
? Please select an element to be used as the root of the report. (Use arrow keys)
 » <SELECT> 1 TestBench [iTB-TT-299]
   TT: 1.1 Beispiele
   TT: 1.2 Regression
   TT: 1.3 Sprints V1.0
   TT: 1.4 Sprints V2.0
   <BACK>activate filters? Activate Filters: (Use arrow keys)
   No
 » Yes

 ? Provide a set of filters. (Use arrow keys to move, <space> to select, <a> to toggle, <i> to invert)
 » ○ automatisiert bdf
   ○ automatisiert keyword
   ○ Mir zugewiesenSelect report configuration? Select Report Configuration: (Use arrow keys)
 » Itep Export
   iTorx Export (execution)
   iTorx Export (continue|view)
   <CUSTOM>Itep Export, iTorx Export (execution) and iTorx Export(continue|view) are pre-configured exports.
With Custom you can configure the report by yourself.In each case you must provide the path the export should be saved in.TODO: add explanations of each optionCustom configuration possibilitiesexportAttachments (True | False)
: definitionexportDesignData (True | False)
: definitioncharacterEncoding (UTF-16 | UTF-8)
: definitionsuppressFilteredData (True | False)
: definitionexportExpandedData (True | False)
: definitionexportDescriptionFields (True | False)
: definitionexportExecutionProtocols (True | False)
: definitionImport execution resultsImport test results into the TestBench.? Provide the input path [report.zip]:Write history to config fileWrites a config.json file containing the inputs given in the current session using the testbench-cli-reporter.This config file can later be used to execute the testbench-cli-reporter in automatic mode.If you didn't export nor import anything in the current session yet, at least the connection properties are written.{"configuration":[{"server_url":"https://localhost:9443/api/1/","verify":false,"basicAuth":"XXXXXXXXXXXX=","actions":[]},]}Change connectionConnect to a different TestBench instance so you do not have to exit the testbench-cli-reporter completely.? What do you want to do? Change connection
? Enter the TestBench server address and port <host:port>:
? Enter your login name: testbench-user
? Enter your password: ****************QuitExits the testbench-cli-reporterAutomatic modeRun in automatic mode:testbench-cli-reporter --config /path/to/config/file.jsonConfig file structureThe attributeprojectPathis not mandatory though. Only using projectKey, tovKey, cycleKey is also more error prone, as they will not change within TestBench.{"configuration":[{"server_url":"https://localhost:9443/api/1/","verify":false,"basicAuth":"XXXXXXXXXXXXX=","actions":[{"type":"ExportXMLReport","parameters":{"tovKey":"8689447","projectPath":["TestBench Demo Agil","Version 3.0","3.0.1"],"cycleKey":"8689450","reportRootUID":"itb-TT-8161","filters":[],"report_config":{"exportAttachments":true,"exportDesignData":true,"characterEncoding":"utf-16","suppressFilteredData":true,"exportExpandedData":true,"exportDescriptionFields":true,"outputFormattedText":false,"exportExecutionProtocols":false,"reportRootUID":"itb-TT-8161"},"outputPath":"report.zip"}},{"type":"ImportExecutionResults","parameters":{"inputPath":"report.zip","cycleKey":"8689450","reportRootUID":"ROOT","defaultTester":false,"filters":[],"importConfig":{"ignoreNonExecutedTestCases":true,"checkPaths":true,"discardTesterInformation":true,"useExistingDefect":true,"filters":[]}}}]}]}Optional argumentsTODOYou can access a list of optional arguments usingtestbench-cli-reporter --helpusage: testbench-cli-reporter [-h] [-c CONFIG] [-s SERVER] [--login LOGIN] [--password PASSWORD] [-p PROJECT]
                              [-v VERSION] [-y CYCLE] [-u UID] [-t {e,i}]
                              [path]

positional arguments:
  path                  Input- and Output-Path for xml reports <OPTIONAL, Default = report.zip>.

optional arguments:
  -h, --help            show this help message and exit
  -c CONFIG, --config CONFIG
                        Path to a config json file to execute pre-set actions based on the given configuration.
  -s SERVER, --server SERVER
                        TestBench Server address (hostname:port).
  --login LOGIN         Users Login.
  --password PASSWORD   Users Password.
  -p PROJECT, --project PROJECT
                        Project name to be exported <OPTIONAL if --type is 'i'>.
  -v VERSION, --version VERSION
                        Test Object Version name to be exported <OPTIONAL if --type is 'i'>.
  -y CYCLE, --cycle CYCLE
                        Test Cycle name to be exported <OPTIONAL>
  -u UID, --uid UID     Root UID to be exported <OPTIONAL, Default = ROOT>
  -t {e,i}, --type {e,i}
                        'e' for Export <default>, 'i' for Import