Botium Box Configuration
Botium Box Server and Agents are configured with environment variables. You have to add those environment variables to the Botium Box docker-compose.yml file.
When using another technology to start the containers, use this technologies means of passing environment variables to Botium Box. Passing environment variables is the state-of-the-art-method for container configuration and supported by all providers.
Please note that the Botium Box distribution has reasonable defaults for all of these settings, so in most cases you won’t have to change anything.
Environment Variables for Botium Box Server and Agent(s)
Relevant for Botium Box Server and Botium Box Agent
The URL for connection to Redis (see here for details), the default is Redis running on same host (redis://127.0.0.1:6379)
Has to be the same for server and agent(s). Can be used to use one Redis instance for multiple Botium Box installations.
Set to "1" to makes Botium Box output logs as JSON instead of plain text. Useful for things like Kibana, Fluentd etc
To enable detailed application logging, Botium Box uses the "debug" conventions (https://github.com/visionmedia/debug).. In short: set the environment variable "DEBUG" to "botium*" to enable logging for all botium-related sections.
Environment Variables for Botium Box Server
Only relevant for Botium Box Server
Mysql database url, for example "mysql://root:password@mysql:3306/box@prod13"
The maximal size of request payload. This is especially important for TestSet file uploads. default is (10MB)
Encryption token for website security tokens, for example "jwtsecret123"
comma-separated list of connectors to enable (for custom connectors)
"AUTO" (default) for automatically registering agents by agent name
comma separated list of allowed agent names
Timeout for all API operations in seconds (default: 30 minutes)
BOTIUMBOX_QUEUE_RESPONSE_CONCURRENCY (> 2.8.2)
concurrency count for processing agent responses (default: 50)
BOTIUMBOX_QUEUE_RESPONSE_CONCURRENCY_PERFORMANCE (> 2.8.2)
concurrency count for processing performance test responses (default: 1000)
BOTIUMBOX_QUEUE_RESPONSE_CONCURRENCY_COACH (> 2.8.2)
concurrency count for processing coach test responses (default: 50)
BOTIUMBOX_METRICS_ENABLE_BOX (> 2.8.2)
Set to 1 to publish Botium Box internal metrics on the Prometheus endpoint /metrics (default disabled)
BOTIUMBOX_METRICS_ENABLE_NODEJS (> 2.8.2)
Set to 1 to publish Node.js metrics on the Prometheus endpoint /metrics (default disabled)
See here for details about the published metrics
Path to a directory scanned for Test Sets on launch. Folder Structure is like:
First level: language code
second level: Test Set name
If a test set has already been imported from the test sets folder (see above), it won’t be imported again. Settings this to “1” will delete the existing test set and import it again. Changes to a test set will be lost.
Settings/File Browser tries to detect corrupted/unsecure files. For example does not allow to upload a binary file with .txt extension.
There are too many extensions, And some formats are diffcult to test (like markdown), so the check may not work always as expected.
You can choose from two validator providers, or turn the whole validation off with this environment variable.
mmmagic - recognizes, and so allows more mimetypes. On dev environment it has been exited with error code sometimes. Uses mmmagic module in backgroud.
file-type - supports less mimetypes, and the supported ones are checked more strict. (Does not accepts every txt file as JSON for example, as mmmagic does)
off - turns the validation off
Plugins are custom components in resources directory of Botium Box. They are not loaded as default due to security reasons. You can activate loading with ‘on’ or ‘enable’ value, deactivate with empty string.
SMTP_HOST - SMTP Server Hostname
SMTP_PORT - SMTP Server Port
SMTP_SECURE - Set to 1 to use SSL for SMTP connection
SMTP_USER - SMTP Username
SMTP_PASSWORD - SMTP Password
External API Settings
OPENAI_APIKEY and OPENAI_RATE_BY_MINUTE
OpenAI Api Key (Paraphrasing, Test Case Wizard, ...). Maximum number of API Calls per minute can be throttled with OPENAI_RATE_BY_MINUTE.
GOOGLE_TRANSLATE_CLIENT_EMAIL and GOOGLE_TRANSLATE_PRIVATE_KEY
For Google Cloud Translation credentials
SPEECH_PROCESSING_ENDPOINT and SPEECH_PROCESSING_APIKEY
For Botium Speech and Voice Processing
COACH_WORKER_ENDPOINT and COACH_WORKER_APIKEY
For Botium Coach Worker
Environment Variables for Botium Box Agent(s)
Only relevant for Botium Box Agent
for setting an agent name (each agent should have a different name). By default, the hostname is used.
agent name composed of hostname and this number (for cluster mode)
currently not usec
set to amount of milliseconds between heartbeat message (default: 30000 - 30 seconds)
concurrency count for processing agent requests (default: 1)
concurrency count for processing performance tests (default: 1)
concurrency count for processing coach tests (default: 10)
number of retries for sending progress (default: 5)
number of milliseconds between retries in milliseconds (default: 10000 - 10 seconds)
maximum number of milliseconds a test case is allowed to take (default: 600000 - 10 minutes)