-
Notifications
You must be signed in to change notification settings - Fork 29
/
sakuli-default.properties
453 lines (402 loc) · 19.8 KB
/
sakuli-default.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
#
# Sakuli - Testing and Monitoring-Tool for Websites and common UIs.
#
# Copyright 2013 - 2015 the original author or authors.
#
# 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
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# 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.
#
# @formatter:off
#####################################################################################
#######################################################################################
# All properties defined here are DEFAULT and should NOT be CHANGED.
#
# To define a specific behaviour to your test, it is possible to overwrite all properties of the Sakuli default
# properties 'sakuli-default.properties'.
# For a short guideline how the property replacement mechanism in Sakuli works and how properties should be
# overwritten, please refer to https://github.com/ConSol/sakuli/blob/master/docs/manual/testdefinition/advanced-topics/sakuli-property-loading.adoc
#######################################################################################
#######################################################################################
#######################################################################################
# TEST-SUITE-META-PROPERTIES
#
# These properties describes the set of configuration for a test suite.
#######################################################################################
# The test suite ID is an unique ID, which identifies the same test suite
# over all executions and configuration changes.
# The 'testsuite.id' MUST be defined in the 'testsuite.properties'
testsuite.id=
#######################################################################################
# OPTIONAL-PROPERTIES for the test suite
#
# If this properties haven NOT been set, the test suite will be configured with the
# default values.
#######################################################################################
# Descriptive name for the current test suite
# DEFAULT: value of 'testsuite.id'
testsuite.name=
# The warning runtime threshold (seconds) estimates the execution time of the complete
# test suite. If the warning time is exceeded, the test suite will get the state
# 'WARNING'.
# If the threshold is set to 0, the execution time will never exceed, so the state will be always OK!
# DEFAULT:0
testsuite.warningTime=0
# The critical runtime threshold (seconds) estimates the execution time of the complete
# test suite. If the critical time is exceeded, the test suite will get the state
# 'CRITICAL'.
# If the threshold is set to 0, the execution time will never exceed, so the state will be always OK!
# DEFAULT:0
testsuite.criticalTime=0
# Defines the browser in witch the test suite should be executed
# values are corresponding to the file
# <sahi-installtion-folder>/userdata/config/browser_types.
#
# DEFAULT: firefox
testsuite.browser=firefox
#######################################################################################
# SAKULI-ACTION-PROPERTIES
#
# Common settings
#######################################################################################
# Similarity is taken as a "higher-than" value, that means for a match candidate region that more than
#'sakuli.region.similarity.default' percent of the region's pixels must coincide. Decreasing this value should only be
# necessary if the pattern images are of poor quality or the screen always differs slightly from the pattern images
# (e.g. compression of remote sessions like vnc).
#
# DEFAULT: true
sakuli.environment.similarity.default=0.99
# If true, the test suite takes screenshots when an error occurs during the execution.
#
# DEFAULT: true
sakuli.screenshot.onError=true
### If true, every region gets highlighted automatically
# en-/disable
#
# DEFAULT: false
sakuli.autoHighlight.enabled=false
# Auto highlight duration (float)
#
# DEFAULT: 1.1f
sakuli.highlight.seconds=1.1f
### Sikuli Action Delays
#
#set the default type and click delay in seconds;
sikuli.typeDelay=0.00
sikuli.clickDelay=0.2
#######################################################################################
# ENCRYPTION-PROPERTIES
#
# Defines the properties how to en-/decrypt secrets
# For more information see:
# https://github.com/ConSol/sakuli/blob/master/docs/manual/testdefinition/advanced-topics/sakuli-encryption.adoc
#######################################################################################
### Encryption Mode
# Available modes are currently:
# * "environment" using the environment variable `SAKULI_ENCRYPTION_KEY` (or if not present the property
# `sakuli.encryption.key`) as master key for encryption (default)
# * "interface" using the host ethernet interface MAC address to encrypt a secret.
#
sakuli.encryption.mode=environment
### Encryption environment Settings (sakuli.encryption.mode=environment)
# Overwrite this property or us the environment var `SAKULI_ENCRYPTION_KEY` as master key for en- and decryption
#
### Encryption environment Settings (sakuli.encryption.mode=environment_key)
# Overwrite this property or us the environment var `SAKULI_ENCRYPTION_KEY` as master key for en- and decryption
#
sakuli.encryption.key=
#
#
### Encryption Interface Settings (sakuli.encryption.mode=interface)
# If this property is enabled, Sakuli will choose automatically the first ethernet interface for encryption.
# To use a specific interface set it to 'false'
#
# DEFAULT:true
sakuli.encryption.interface.autodetect=true
#
# Defines a specific network interface which should be used for the encryption functions.
# Therefore set the property 'sakuli.encryption.interface.autodetect=false'.
#
# Example: sakuli.encryption.interface=eth0
sakuli.encryption.interface=
#######################################################################################
# FORWARDER-PROPERTIES
#
# Defines the properties for all forwarders. Currently supported: JDBC, Gearman/mod-gearman, Icinga, CheckMK.
#######################################################################################
# Set the default folder, where the Twig templates for the different forwarders are placed
# (e.g. the Check_MK templates are placed in a subdirectory check_mk).
# For more information about twig templates, please refer to http://jtwig.org/
sakuli.forwarder.template.folder=${sakuli.home.folder}/config/templates
##### GEARMAN - FORWARDER
# Send results to a gearman-enabled monitoring system, using the parameters below in your 'sakuli.properties' to activate the forwarder.
# For more information see https://github.com/ConSol/sakuli/blob/master/docs/forwarder-gearman.md
#
## Gearman server settings:
# DEFAULT: false
sakuli.forwarder.gearman.enabled=false
sakuli.forwarder.gearman.server.host=changeme
# DEFAULT: 4730
sakuli.forwarder.gearman.server.port=4730
# Nagios host where all Sakuli services are defined on. If necessary, overwrite this value per test suite.
sakuli.forwarder.gearman.nagios.hostname=changeme
#
#
### OPTIONAL GEARMAN PROPERTIES:
# DEFAULT: check_results
sakuli.forwarder.gearman.server.queue=check_results
#
## Encryption:
# For serverside configuration see https://labs.consol.de/de/nagios/mod-gearman/index.html.
sakuli.forwarder.gearman.encryption=true
# ATTENTION: change the secret for production use!!!
sakuli.forwarder.gearman.secret.key=sakuli_secret
#
## Result caching:
# Caches results when gearman server is temporarily not available.
sakuli.forwarder.gearman.cache.enabled=true
# Time in milliseconds to wait between result job submit (used when processing cached results)
sakuli.forwarder.gearman.job.interval=1000
#
## Nagios service options:
# check_command gets appended to the perfdata string and will be used as PNP template name (check_sakuli = default)
sakuli.forwarder.gearman.nagios.check_command=check_sakuli
# optional service description forwarded to nagios check result. DEFAULT: testsuite.id
sakuli.forwarder.gearman.nagios.service_description=${testsuite.id}
#
## Result template:
# Output message template strings. Change only if needed.
sakuli.forwarder.gearman.nagios.template.suite.summary={{state_short}} Sakuli suite "{{id}}" {{suite_summary}}. (Last suite run: {{stop_date}})
sakuli.forwarder.gearman.nagios.template.suite.summary.maxLength=200
sakuli.forwarder.gearman.nagios.template.suite.table={{state_short}} Sakuli suite "{{id}}" {{suite_summary}}. (Last suite run: {{stop_date}}){{error_screenshot}}
sakuli.forwarder.gearman.nagios.template.case.ok={{state_short}} case "{{id}}" ran in {{duration}}s - {{state_description}}
sakuli.forwarder.gearman.nagios.template.case.warning={{state_short}} case "{{id}}" over runtime ({{duration}}s/warn at {{warning_threshold}}s){{step_information}}
sakuli.forwarder.gearman.nagios.template.case.warningInStep={{state_short}} case "{{id}}" over runtime ({{duration}}s/warn at {{warning_threshold}}s){{step_information}}
sakuli.forwarder.gearman.nagios.template.case.critical={{state_short}} case "{{id}}" over runtime ({{duration}}s/crit at {{critical_threshold}}s){{step_information}}
sakuli.forwarder.gearman.nagios.template.case.error={{state_short}} case "{{id}}" {{state_description}}: {{error_message}}{{error_screenshot}}
## Screenshot dimensions in Gearman output
sakuli.forwarder.gearman.nagios.template.screenshotDivWidth=640px
##### ICINGA2 - FORWARDER
# Send results to a Icinga2 monitoring system, using the parameters below in your 'sakuli.properties' to activate the forwarder.
# For more information see https://github.com/ConSol/sakuli/blob/master/docs/forwarder/icinga2.md
#
# DEFAULT: false
sakuli.forwarder.icinga2.enabled=false
## Icinga API settings
sakuli.forwarder.icinga2.api.host=changeme
sakuli.forwarder.icinga2.api.port=5665
sakuli.forwarder.icinga2.api.username=icinga-api-user
sakuli.forwarder.icinga2.api.password=icinga-api-password
# Icinga host with sakuli services
sakuli.forwarder.icinga2.hostname=changeme
#
### OPTIONAL ICINGA2 PROPERTIES:
# Icinga service description. DEFAULT: testsuite.id
sakuli.forwarder.icinga2.service_description=${testsuite.id}
# REST-URL where to send the Icinga2 results
sakuli.forwarder.icinga2.api.url=https://${sakuli.forwarder.icinga2.api.host}:${sakuli.forwarder.icinga2.api.port}/v1/actions/process-check-result?service=${sakuli.forwarder.icinga2.hostname}!${sakuli.forwarder.icinga2.service_description}
#
## Result template:
#Icinga 'plugin_output' template strings. Change only if needed.
sakuli.forwarder.icinga2.template.suite.summary={{state_short}} Sakuli suite "{{id}}" {{suite_summary}}. (Last suite run: {{stop_date}})
sakuli.forwarder.icinga2.template.suite.summary.maxLength=200
sakuli.forwarder.icinga2.template.case.ok={{state_short}} case "{{id}}" ran in {{duration}}s - {{state_description}}
sakuli.forwarder.icinga2.template.case.warning={{state_short}} case "{{id}}" over runtime ({{duration}}s/warn at {{warning_threshold}}s){{step_information}}
sakuli.forwarder.icinga2.template.case.warningInStep={{state_short}} case "{{id}}" over runtime ({{duration}}s/warn at {{warning_threshold}}s){{step_information}}
sakuli.forwarder.icinga2.template.case.critical={{state_short}} case "{{id}}" over runtime ({{duration}}s/crit at {{critical_threshold}}s){{step_information}}
sakuli.forwarder.icinga2.template.case.error={{state_short}} case "{{id}}" {{state_description}}: {{error_message}}
##### DATABASE - FORWARDER
# Save results into database, using the DB connection parameters below (must be uncommented).
# For more information see https://github.com/ConSol/sakuli/blob/master/docs/receivers/database.md
# DEFAULT: false
sakuli.forwarder.database.enabled=false
## database host
sakuli.forwarder.database.host=changeme
## database port:
sakuli.forwarder.database.port=3306
## database name
sakuli.forwarder.database=sakuli
## database username
sakuli.forwarder.database.user=sakuli
## database password
sakuli.forwarder.database.password=sakuli
## JDBC-Driver
sakuli.forwarder.database.jdbc.driverClass=com.mysql.jdbc.Driver
## pattern for JDBC database connection URL
sakuli.forwarder.database.jdbc.url=jdbc:mysql://${sakuli.forwarder.database.host}:${sakuli.forwarder.database.port}/${sakuli.forwarder.database}
##### CheckMK - FORWARDER
# Send results to a CheckMK-enabled monitoring system, using the parameters below in your 'sakuli.properties' to activate the forwarder.
# For more information see https://github.com/ConSol/sakuli/blob/master/docs/forwarder-checkmk.md
#
## DEFAULT: false
sakuli.forwarder.check_mk.enabled=false
#
### OPTIONAL CheckMK PROPERTIES:
#
# spool dir, default /var/lib/check_mk_agent/spool (Linux) / (installation_path)\spool (Windows)
sakuli.forwarder.check_mk.spooldir=/var/lib/check_mk_agent/spool
# Max result age. Prepend this number on the file name, e.g. 600_sakuli_suite_XYZ
sakuli.forwarder.check_mk.freshness=600
# Prefix of the file name for CheckMK
sakuli.forwarder.check_mk.spoolfile_prefix=sakuli_suite_
# optional service description forwarded to the output check result, when not set, testsuite.id is used
sakuli.forwarder.check_mk.service_description=${testsuite.id}
##### JSON - FORWARDER
# Save results into a json file. The JSON forwarder is enabled per default.
# DEFAULT: true
sakuli.forwarder.json.enabled=true
## folder where to save the json file on the test execution host
sakuli.forwarder.json.dir=${sakuli.log.folder}/_json
###############################
# LOGGING & ERROR-SCREENSHOT PROPERTIES
# Common logging settings for Sakuli.
# (log verbosity can be set in 'sakuli-log-config.xml')
###############################
### Specific Logging properties for different logging levels
#
### log levels for the different components - levels `DEBUG - INFO - WARN - ERROR`
#logging level for Sakuli output
log.level.sakuli=INFO
#logging level for Sikuli output
log.level.sikuli=WARN
#logging level for Sahi output
log.level.sahi=WARN
#logging level for the Spring framework (only used internally)
log.level.spring=WARN
#logging level for all other **Java classes and libraries**
log.level.root=INFO
# If you use the argument 'resumeOnException=true' in methods like `new Region("username",true)`
# to continue the test even the method fails, you can control how Sakuli treats such exceptions by
# settings the property `suppressResumedExceptions`:
# true = the exception will be logged and appear in the test result
# false = the exception will NEITHER be logged NOR appear in the test result.
#
# Example:
# // create region "foo"
# var foo = new Region("bar.png",true);
# // if "image" is not found, the script will resume
# var baz = foo.find("image");
# // throw your "own" exception.
# // If you do not, and suppressResumedExceptions=true, the exception will be suppressed.
# if (baz == null){
# throw "Sorry, I could not find image 'image'.";
# }
#
# DEFAULT: false
sakuli.exception.suppressResumedExceptions=false
# Log pattern
#
# Log pattern for development with java classes:
# sakuli.log.pattern=%-5level %d{YYYY-MM-dd HH:mm:ss.SSS} [%thread] %logger{36} - %msg%n
# default log pattern
sakuli.log.pattern= %-5level [%d{YYYY-MM-dd HH:mm:ss.SSS}] - %msg%n
# log file folder
sakuli.log.folder=${sakuli.testsuite.folder}/_logs
# Deletes all files that are older than the defined days in the folder `sakuli.log.folder`
#
# DEFAULT: 14 days
sakuli.log.maxAge=14
# folder for screenshot files (if activated)
sakuli.screenshot.dir=${sakuli.log.folder}/_screenshots
# screenshot file format (Possible values: jpg, png)
sakuli.screenshot.format=png
### URLs for documentation links
sahi.doc.base.url=http://sahipro.com/docs/all-topics.html?q=
sakuli.doc.base.url=http://consol.github.io/sakuli/latest/index.html#
#######################################################################################
# SAHI-SCRIPT-RUNNER-PROPERTIES
#
# Defines properties of the application component "Sahi".
#######################################################################################
### Internal Sahi-Proxy configuration
# sahi proxy port
#(internal proxy for the test execution)
sahi.proxy.port=9999
# Sahi installation folder
sahi.proxy.homePath=${sakuli.home.folder}/../sahi
# Sahi config folder
sahi.proxy.configurationPath=${sahi.proxy.homePath}/userdata
# number of max. attempts to connect to a site before aborting
sahi.proxy.maxConnectTries=25
# wait time in seconds between retry attempts
sahi.proxy.reconnectSeconds=1
# amount of firefox profiles
ff.profiles.max_number=1
#### Sahi customisations done by Sakuli only
#
# Sahi delays on Sikuli input (put on helmet!)
#
# Sikuli keyboard events (type/paste) on a Sahi-controlled browser instance can get lost if
# they are executed at the same time when Sahi internal status requests are sent from the
# browser JS to the Sahi proxy (default: 100ms = 10x per sec.).
# For this reason, Sakuli can temporarily stop the browser JS with the Sahi proxy when a Sikuli
# keyboard action has to be executed on the browser window.
#
# "delayPerKey" is the amount of time the browser JS keeps silent for one key event; for e.g. a
# word with 8 characters, this is "8 x delayPerKey" (in ms).
#
# "delayBeforeInput" is the time Sakuli must wait before starting the keystrokes. Within this time
# the browser JS updates its sync interval from default (100ms) to e.g. "8 x delayPerKey".
#
# After the key events are done, Sakuli resets Sahi's sync interval back to the default value.
# This setting is not needed if key events are executed on a Window which is not contolled by Sahi.
#
# (gets only enabled if delayPerKey is set)
sahi.proxy.onSikuliInput.delayBeforeInput=500
sahi.proxy.onSikuliInput.delayPerKey=
#
# Dis/Enable if Sahi should remove the authorization header.
# See: http://consol.github.io/sakuli/latest/index.html#sahi-authorization-headers
# (Default by Sahi OS: true)
sahi.proxy.removeAuthorizationHeader.enabled=true
### HTTP/HTTPS proxy Settings
### Set a company proxy Sahi should use
# external HTTP proxy
ext.http.proxy.enable=false
ext.http.proxy.host=proxy.server.com
ext.http.proxy.port=8080
ext.http.proxy.auth.enable=false
ext.http.proxy.auth.name=user
ext.http.proxy.auth.password=password
# external HTTPS proxy
ext.https.proxy.enable=false
ext.https.proxy.host=proxy.server.com
ext.https.proxy.port=8080
ext.https.proxy.auth.enable=false
ext.https.proxy.auth.name=user
ext.https.proxy.auth.password=password
# There is only one bypass list for both secure and insecure.
ext.http.both.proxy.bypass_hosts=localhost|127.0.0.1|*.internaldomain.com|www.verisign.com
### SSL-Certificate settings (experimental)
# Uncomment the following lines to use a client certificate.
# If there is no password, do not uncomment the password line.
# keystore type can be JKS, PKCS12 etc.
# For more information see http://community.sahipro.com/forums/discussion/1167/sahi-allowing-certificates
#
#ssl.client.keystore.type=JKS
#ssl.client.cert.path=${sakuli.testsuite.folder}/sakuli_keystore
#ssl.client.cert.password=sakuli
### more logging options for Sahi:
# log folder for sahi HTML report
logs.dir=${sakuli.log.folder}
# handlers to create in the root logger
# (all loggers are children of the root logger)
handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler
# default logging level for new ConsoleHandler instances
java.util.logging.ConsoleHandler.level = ALL
# default logging level for new FileHandler instances
java.util.logging.FileHandler.level = ALL
# default formatter for new ConsoleHandler instances
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter
java.util.logging.FileHandler.limit=102400
java.util.logging.FileHandler.count=10
java.util.logging.FileHandler.pattern=%t/sahi%g.log