Skip to content

Commit e290337

Browse files
author
GitLab CI
committed
New version of cetk-cli's public documentation, 2.2.1.0.dev14+g6ff26a7
1 parent a92fdeb commit e290337

27 files changed

+944
-296
lines changed

VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
2.3.1.0
1+
2.2.1.0.dev14+g6ff26a7

docs/cel/index.md

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
# comlet Embedded Library (cEL)
2+
3+
A cEL is a pure software library that extends the capability of the [control environment](../control_env/index.md)
4+
and therefore the possibilities for test automation[^1].
5+
This can be done by providing interfaces to additional tools[^2] or implementing additional protocol layer to communicate
6+
with the SUT[^3].
7+
8+
Each cEL brings along a well-defined, low-level keyword library for Robot Framework on top of which new (user) keyword libraries
9+
may be implemented.
10+
11+
??? example "Examples for already available cEL"
12+
- OCR Library: Extends test cases with the power of text recognition (by [Tesseract](https://github.com/tesseract-ocr/tesseract){target="_blank"})
13+
- MAVLink Library: Extends test cases to communicate with airborne drones by [MAVLink](https://mavlink.io/){target="_blank"} protocol
14+
- SCPI Library: Extends test cases to be able to talk to various [SCPI protocol](https://en.wikipedia.org/wiki/Standard_Commands_for_Programmable_Instruments){target="_blank"}
15+
enabled hardware measurement devices
16+
- ADB Library: Extends test cases to be able to talk to mobile devices by [ADB](https://developer.android.com/tools/adb?hl=en){target="_blank"}
17+
- Qt Squish Library: Extends test cases to be able to utilize [Qt's Squish GUI testing tool](https://www.qt.io/quality-assurance/squish)
18+
- MQTT Library: Extends test cases to be able to talk to IIoT devices via MQTT
19+
- NETIO M2M JSON API Library: Extends test cases to be able to talk to [NETIO devices](https://www.netio-products.com/en)
20+
via their [M2M JSON API](https://www.netio-products.com/en/software/open-api){target="_blank"}
21+
- Cleware USB Multiplexer Library: Extends test cases to be able to control USB Multiplexer [by Cleware](https://www.cleware-shop.de/epages/63698188.sf/en_GB/?ViewObjectPath=%2FShops%2F63698188){target="_blank"}
22+
- Public Transport Protocol Library: Extends test cases to be able to communicate with IBIS-IP[^4] and ITxPT devices
23+
- XLM Schema Validation Library: Extends test cases to be able to validate XML strings against an XML schema
24+
25+
??? info "Do you need a library implemented?"
26+
We are happy to help you out if you have the need for a particular library implementation.
27+
Feel free to contact [our sales](mailto:[email protected]?subject=cEL Inquiry) for further details.
28+
29+
[^1]: Besides the already available Robot Framework ecosystem
30+
[^2]: Those tools need to run in the control environment as well
31+
[^3]: Either via hardware interface already available (only on premise) and/or [cESD](../cesd/index.md)
32+
[^4]: [VDV 301 Standard](https://www.vdv.de/ip-kom-oev.aspx){target="_blank"}

docs/cesd/index.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# comlet Embedded Simulation Device (cESD)
2+
3+
A cESD is an embedded device, provided by comlet, that extends the control environment's capabilities to connect to and
4+
communicate with the SUT interfaces. It is used whenever a pure software library like a [cEL](../cel/index.md) is not enough
5+
(e.g., because the physical layer is missing or a certain timing is needed).
6+
7+
## On Premise
8+
9+
With the [on premise control environment](../control_env/index.md), the cESD is mainly used to connect to the SUT
10+
by a low level hardware interface that is not available through the on premise host (or any kind of third-party adapter).
11+
12+
Communication between the control environment and SUT is established by REST API that is unique and specialized
13+
for the respective hardware interface.
14+
15+
??? example "Examples for already available cESD"
16+
- Relay: This cESD offers up to three relais to be opened and closed
17+
- DAC: This cESD offers up to two 8 channel 12 Bit digital analog converter
18+
19+
## Cloud
20+
21+
For the [cloud service control environment](../control_env/cloud.md), the cESD is the bridge between the public network
22+
to the cloud service and the internal company network where the SUT is usually part of. Therefore, a cESD is also the only
23+
connection to the SUT's interfaces.
24+
25+
The communication protocol in this context is MQTTS.
26+
27+
---
28+
29+
??? info "Do you need an interface engineered?"
30+
We are happy to help you out if you have the need for a particular interface implementation.
31+
Feel free to contact [our sales](mailto:[email protected]?subject=cESD Inquiry) for further details.

docs/cli/config.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
Configuration can be given by three different entities:
2+
3+
* TOML file within [`Source Home`](../home_folder/source_home.md#configuration-file-for-cetk-cli)
4+
* Environment variables
5+
* [CLI options](global_options.md)
6+
7+
The TOML file has the lowest prio and the CLI options the highest. The TOML file is good to define fallback defaults
8+
and is part of the [`init` command](init.md). Environment variables are good to control CI/CD processes and are documented
9+
together with their respective [global option](global_options.md).
10+
11+
!!! note
12+
[`Source Home`](../home_folder/source_home.md) can only be configured by CLI option.

docs/cli/default_options.md

Lines changed: 118 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,118 @@
1+
# Default Options
2+
Each executable gets a carefully curated set of default options that is the result of many hours and projects of enterprise
3+
test automation.
4+
5+
## robot
6+
7+
### Tags
8+
#### `not_ready`
9+
Tag to be used for test cases that shall be skipped, i.e., their result is ignored.
10+
11+
#### `no_logging`
12+
Tag for keywords that shall not log anything. This is useful if a keyword handles sensitive data like secrets.
13+
14+
#### `dont_run`
15+
Tag for test cases that shall not be run at all.
16+
17+
### Test Case Randomization
18+
Tests within test suites are randomized regarding their execution order. This is a proven way to identify unwanted side
19+
effects between test cases.
20+
21+
### Run Empty Test Suites
22+
If test cases are selected based on `--include` or `--exclude` this will make sure, test suites do not fail if no test case
23+
has been selected.
24+
25+
### Reports and Logs
26+
#### `cetk_xunit.xml`
27+
Report in xUnit format that can be processed by most of the common CI/CD processors.
28+
29+
#### `cetk_log.html`
30+
Detailed log for every keyword called from every test case in every test suite in HTML format.
31+
32+
#### `cetk_report.html`
33+
Overview/Summary report in HTML format that can be used as a dashboard.
34+
35+
#### `cetk_output.xml`
36+
XML output with all raw information/details in a machine-processable way.
37+
38+
### Global Variables
39+
#### `RESOURCES`
40+
Global variable `${RESOURCES}` that can be used to reference the `resources` sub-folder from [`Source Home`](../home_folder/source_home.md).
41+
42+
### Default Output Directory
43+
[`Output Home`](../home_folder/output_home.md) is set as default output directory where all the [reports and logs](#reports-and-logs) are saved.
44+
45+
### Additions to `PYTHONPATH`
46+
#### `<Source Home>/libraries`
47+
Adds the `libraries` sub-folder from [`Source Home`](../home_folder/source_home.md) as an additional python path.
48+
49+
### Log level
50+
Configures the log level to enable `TRACE` logs but visually show only `INFO` level as default in HTML log.
51+
This makes sure no detail is missed if a test case fails, but the HTML is not overloaded with unnecessary details by default.
52+
53+
## rebot
54+
55+
### Tags
56+
#### `no_logging`
57+
Tag for keywords that shall not log anything. This is useful if a keyword handles sensitive data like secrets.
58+
59+
#### `dont_run`
60+
Tag for test cases that shall not be run at all.
61+
62+
### Process Empty Test Suites
63+
If test suites have no test cases, this will make sure `rebot` will not fail while processing.
64+
65+
### Reports and Logs
66+
#### `cetk_xunit_merged.xml`
67+
Merged xUnit log.
68+
69+
#### `cetk_log_merged.html`
70+
Merged HTML log.
71+
72+
#### `cetk_report_merged.html`
73+
Merged HTML report.
74+
75+
#### `cetk_output_merged.xml`
76+
Merged XML report (raw data).
77+
78+
### Default Output Directory
79+
[`Output Home`](../home_folder/output_home.md) is set as default output directory where all the merged [reports and logs](#reports-and-logs) are saved.
80+
81+
### Additions to `PYTHONPATH`
82+
#### `<Source Home>/libraries`
83+
Adds the `libraries` sub-folder from [`Source Home`](../home_folder/source_home.md) as an additional python path.
84+
85+
### Log level
86+
Configures the log level to enable `TRACE` logs but visually show only `INFO` level as default in HTML log.
87+
This makes sure no detail is missed if a test case fails, but the HTML is not overloaded with unnecessary details by default.
88+
89+
## libdoc
90+
91+
### Additions to `PYTHONPATH`
92+
#### `<Source Home>/libraries`
93+
Adds the `libraries` sub-folder from [`Source Home`](../home_folder/source_home.md) as an additional python path.
94+
95+
### Default Output Documentation File
96+
Defines `<Output Home>/cetk_libdoc.html` as default output file and HTML format.
97+
98+
## testdoc
99+
100+
### Tags
101+
#### `dont_run`
102+
Tag for test cases that shall not be run at all.
103+
104+
### Default Output Documentation File
105+
Defines `<Output Home>/cetk_testdoc.html` as default output file and HTML format.
106+
107+
## robocop
108+
109+
### Default config
110+
Default config for linting that fits perfectly with the beautifier `robotidy`.
111+
112+
### Default Output Report
113+
Defines `<Output Home>/cetk_lint_report.html` as default output report.
114+
115+
## robotidy
116+
117+
### Default config
118+
Default config for beautifying that fits perfectly with the linter `robocop`.

docs/cli/global_options.md

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
# Global Options
2+
Global options can be used before and for every sub-command but may not be processed by every [control environment](../control_env/index.md).
3+
4+
??? example
5+
````shell
6+
cetk [global option] [sub-command] ...
7+
````
8+
9+
## Options
10+
11+
### `--help` / `-h`
12+
Show help/usage details and exit.
13+
14+
- Default: None
15+
- Supported control environment(s): All
16+
- Environment variable(s): None
17+
18+
### `--version`
19+
Show `cetk-cli`'s version and exit.
20+
21+
- Default: None
22+
- Supported control environment(s): All
23+
- Environment variable(s): None
24+
25+
---
26+
27+
### `--project-name` (str)
28+
Set a project name used for Docker compose environment and its network.
29+
30+
- Default: `cetk`
31+
- Supported control environment(s): Native, Docker
32+
- Environment variable(s): `CETK_PROJECT_NAME`
33+
34+
### `--source-home` / `-s` (path)
35+
Set the common [`Source Home`](../home_folder/source_home.md) path for all [supported executables](../control_env/index.md#supported-executables).
36+
37+
- Default: Current working directory
38+
- Supported control environment(s): All
39+
- Environment variable(s): None
40+
41+
??? note
42+
The [control environment](../control_env/index.md#environment-variables) will set `CETK_SOURCE_HOME` during run-time,
43+
even though [`Source Home`](../home_folder/source_home.md) cannot be [configured](config.md) by environment variable (or TOML file).
44+
45+
### `--output-home` / `-o` (path)
46+
Set the common [`Output Home`](../home_folder/output_home.md) path for all [supported executables](../control_env/index.md#supported-executables).
47+
48+
- Default: `<Source Home>/artifacts`
49+
- Supported control environment(s): All
50+
- Environment variable(s): `CETK_OUTPUT_HOME`
51+
52+
??? note
53+
The [control environment](../control_env/index.md#environment-variables) will set `CETK_OUPUT_HOME` during run-time,
54+
regardless from which [configuration entity](config.md) `OUTPUT HOME` has been configured.
55+
56+
### `--environment` (choice)
57+
Define the control environment to be used.
58+
59+
- Choices: `native`, `docker`, `cloud`
60+
- Default: `native`
61+
- Supported control environment(s): All
62+
- Environment variable(s): `CETK_ENVIRONMENT`
63+
64+
??? note
65+
The [control environment](../control_env/index.md#environment-variables) will set `CETK_ENVIRONMENT` during run-time,
66+
regardless from which [configuration entity](config.md) `environment` has been configured.
67+
68+
---
69+
70+
### `--verbose` / `-v`
71+
Show log messages in the terminal (stderr).
72+
73+
- Default: disabled
74+
- Supported control environment(s): All
75+
- Environment variable(s): `CETK_VERBOSE`, `CETK_ENABLE_VERBOSE`[^1]
76+
77+
### `--enable-file-logging`
78+
Enable logging into a file (for default file location, see `--log-file`)
79+
80+
- Default: enabled (by TOML configuration file)
81+
- Supported control environment(s): All
82+
- Environment variable(s): `CETK_FILE_LOGGING`, `CETK_ENABLE_FILE_LOGGING`[^1]
83+
84+
### `--log-file` (file path)
85+
Specify different path/file name for the log file (if enabled).
86+
87+
- Default: `<Output Home>/cetk.log`
88+
- Supported control environment(s): All
89+
- Environment variable(s): `CETK_LOG_FILE`
90+
91+
---
92+
93+
### `--compose-file` (file path)
94+
Docker compose file to be used for Docker compose environment.
95+
Option can be used several times.
96+
97+
- Default: None
98+
- Supported control environment(s): native, docker
99+
- Environment variable(s): `CETK_COMPOSE_FILES`
100+
101+
### `--compose-dotenv-file` (file path)
102+
Dotenv (`.env`) file passed to Docker compose environment.
103+
104+
- Default: None
105+
- Supported control environment(s): native, docker
106+
- Environment variable(s): `CETK_COMPOSE_DOTENV_FILE`
107+
108+
### `--compose-executable-name` (str)
109+
Name of the executable to be used to control `compose`.
110+
111+
- Default: `docker`
112+
- Supported control environment(s): native, docker
113+
- Environment variable(s): `CETK_COMPOSE_EXECUTABLE_NAME`
114+
115+
### `--compose-executable-path` (path)
116+
Alternative search path for executable that controls `compose`.
117+
118+
- Default: System/User `PATH`
119+
- Supported control environment(s): native, docker
120+
- Environment variable(s): `CETK_COMPOSE_EXECUTABLE_PATH`
121+
122+
### `--compose-verbose`
123+
Enable verbose mode for compose executable
124+
125+
- Default: disabled
126+
- Supported control environment(s): native, docker
127+
- Environment variable(s): `CETK_COMPOSE_VERBOSE`, `CETK_COMPOSE_ENABLE_VERBOSE`[^1]
128+
129+
---
130+
131+
### `--docker-image` (str)
132+
The name/tag of the control environment Docker image.
133+
134+
- Default: None
135+
- Supported control environment(s): docker
136+
- Environment variable(s): `CETK_DOCKER_IMAGE`
137+
138+
??? note
139+
The [docker control environment](../control_env/docker.md#environment-variables) will set `CETK_DOCKER_IMAGE` during run-time,
140+
regardless from which [configuration entity](config.md) `docker image` has been configured.
141+
142+
---
143+
144+
### `--cloud-api-key` (str)
145+
API key to authorize against cETK cloud service. This key can be
146+
obtained from the cloud service "developer" portal as a self-service.
147+
148+
- Default: None
149+
- Supported control environment(s): cloud
150+
- Environment variable(s): `CETK_CLOUD_API_KEY`
151+
152+
### `--cloud-customer-id` (str)
153+
Customer ID to access customer-specific cETK cloud service API. This ID is
154+
given by comlet upon valid/active subscription.
155+
156+
- Default: None
157+
- Supported control environment(s): cloud
158+
- Environment variable(s): `CETK_CLOUD_CUSTOMER_ID`
159+
160+
### `--cloud-add-upload-path` (path)
161+
Additional [`Output Home`](../home_folder/output_home.md) or [`Temp Home`](../home_folder/temp_home.md) path from which files are uploaded to
162+
cETK cloud service as sources (not filtered and non-recursive). Option can be given multiple times.
163+
164+
- Default: None
165+
- Supported control environment(s): cloud
166+
- Environment variable(s): `CETK_CLOUD_ADD_UPLOAD_PATHS`
167+
168+
### `--cloud-force-upload`
169+
Forces upload of sources to cETK cloud service — even if they exist.
170+
171+
- Default: disabled
172+
- Supported control environment(s): cloud
173+
- Environment variable(s): `CETK_CLOUD_FORCE_UPLOAD`, `CETK_CLOUD_ENABLE_FORCE_UPLOAD`[^1]
174+
175+
[^1]: The `ENABLE` environment variable just needs to be defined, its value does not matter to enable the option.
176+
Whereas the "normal" variable needs to have a truth-y or false-y value

0 commit comments

Comments
 (0)