/
bitbucket.yml
97 lines (97 loc) · 3.91 KB
/
bitbucket.yml
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
---
settings:
artifacts-dir: results/bitbucket/%Y-%m-%d_%H-%M-%S
aggregator: consolidator
verbose: false
check-updates: false # disable bzt check for updates
env:
application_hostname: test_bitbucket_instance.atlassian.com # Bitbucket DC hostname without protocol and port e.g. test-bitbucket.atlassian.com or localhost
application_protocol: http # http or https
application_port: 80 # 80, 443, 8080, 7990 etc
secure: True # Set False to allow insecure connections, e.g. when using self-signed SSL certificate
application_postfix: /bitbucket # e.g. /bitbucket for TerraForm deployment url like `http://a1234-54321.us-east-2.elb.amazonaws.com/bitbucket`. Leave this value blank for url without postfix.
admin_login: admin
admin_password: admin
load_executor: jmeter # only jmeter executor is supported
concurrency: 20 # number of concurrent virtual users for jmeter scenario
test_duration: 50m
ramp-up: 10m # time to spin all concurrent users
total_actions_per_hour: 32700
WEBDRIVER_VISIBLE: False
JMETER_VERSION: 5.5
LANGUAGE: en_US.utf8
allow_analytics: Yes # Allow sending basic run analytics to Atlassian. These analytics help us to understand how the tool is being used and help us to continue to invest in this tooling. For more details please see our README.
environment_compliance_check: True # Pre-test environment compliance validation. Set to "False" to skip it.
services:
- module: shellexec
prepare:
- python util/pre_run/environment_checker.py
- python util/pre_run/environment_compliance_check.py bitbucket
- python util/pre_run/git_client_check.py
- python util/data_preparation/bitbucket_prepare_data.py
shutdown:
- python util/post_run/jmeter_post_check.py
- python util/jtl_convertor/jtls-to-csv.py kpi.jtl selenium.jtl
post-process:
- python util/analytics/analytics.py bitbucket
- python util/post_run/cleanup_results_dir.py
- module: pip-install
packages:
- selenium==4.18.1
execution:
- scenario: ${load_executor}
concurrency: ${concurrency}
hold-for: ${test_duration}
ramp-up: ${ramp-up}
- scenario: selenium
executor: selenium
runner: pytest
hold-for: ${test_duration}
scenarios:
selenium:
script: selenium_ui/bitbucket_ui.py
jmeter:
script: jmeter/bitbucket.jmx
properties:
admin_login: ${admin_login}
admin_password: ${admin_password}
application_hostname: ${application_hostname}
application_protocol: ${application_protocol}
application_port: ${application_port}
application_postfix: ${application_postfix}
total_actions_per_hr: ${total_actions_per_hour}
tmp_dir: /tmp
ssh_key_url: https://centaurus-datasets.s3.us-east-2.amazonaws.com/bitbucket/ssh/id_rsa
modules:
consolidator:
rtimes-len: 0 # CONFSRVDEV-7631 reduce sampling
percentiles: [] # CONFSRVDEV-7631 disable all percentiles due to Taurus's excessive memory usage
jmeter:
version: ${JMETER_VERSION}
detect-plugins: true
memory-xmx: 8G # allow JMeter to use up to 8G of memory
plugins:
- bzm-parallel=0.4
- bzm-random-csv=0.6
- jpgc-casutg=2.5
- jpgc-dummy=0.2
- jpgc-ffw=2.0
- jpgc-fifo=0.2
- jpgc-functions=2.1
- jpgc-json=2.6
- jpgc-perfmon=2.1
- jpgc-prmctl=0.4
- jpgc-tst=2.4
- jpgc-wsc=0.3
- tilln-sshmon=1.0
- jpgc-synthesis=2.2
system-properties:
server.rmi.ssl.disable: true
java.rmi.server.hostname: localhost
httpsampler.ignore_failed_embedded_resources: "true"
selenium:
chromedriver:
version: "124.0.6367.60" # Supports Chrome version 124. You can refer to https://googlechromelabs.github.io/chrome-for-testing
reporting:
- data-source: sample-labels
module: junit-xml