Skip to content

Commit 816b08a

Browse files
authored
Merge pull request atlassian#688 from atlassian/release/5.1.0
Release 5.1.0
2 parents 276d8d4 + 4287a46 commit 816b08a

31 files changed

+617
-157
lines changed

CODEOWNERS

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
# Default code owners - Atlassian Data Center App Performance Toolkit
2-
* @ometelytsia @SergeyMoroz0703 @astashys @mmizin
2+
* @ometelytsia @SergeyMoroz0703 @astashys @opopovss @OlehStefanyshyn

Dockerfile

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,6 @@ FROM blazemeter/taurus
88

99
ENV APT_INSTALL="apt-get -y install --no-install-recommends"
1010

11-
# Remove bintray manually until PR https://github.com/Blazemeter/taurus/pull/1484/files is promoted to prod
12-
RUN sed -i '/dl.bintray.com/d' /etc/apt/sources.list
13-
1411
RUN apt-get -y update \
1512
&& $APT_INSTALL vim git openssh-server python3.8-dev python3-pip wget \
1613
&& update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1 \

README.md

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,25 +1,24 @@
11
# Data Center App Performance Toolkit
22
The Data Center App Performance Toolkit extends [Taurus](https://gettaurus.org/) which is an open source performance framework that executes JMeter and Selenium.
33

4-
This repository contains Taurus scripts for performance testing of Atlassian Data Center products: Jira, Jira Service Management, Confluence, and Bitbucket.
4+
This repository contains Taurus scripts for performance testing of Atlassian Data Center products: Jira, Jira Service Management, Confluence, Bitbucket and Crowd.
55

66
## Supported versions
77
* Supported Jira versions:
8-
* Jira [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `8.13.7`, `8.5.15`
8+
* Jira [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `8.13.10`, `8.5.18`
99

1010
* Supported Jira Service Management versions:
11-
* Jira Service Management [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `4.13.7`, `4.5.15`
11+
* Jira Service Management [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `4.13.10`, `4.5.18`
1212

1313
* Supported Confluence versions:
14-
* Confluence [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `7.4.9`
15-
* Confluence Platform release: `7.0.5`
14+
* Confluence [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `7.13.0`, `7.4.11`
1615

1716
* Supported Bitbucket Server versions:
18-
* Bitbucket Server [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `7.6.7`, `6.10.11`
17+
* Bitbucket Server [Long Term Support release](https://confluence.atlassian.com/enterprise/atlassian-enterprise-releases-948227420.html): `7.6.9`, `6.10.13`
1918
* Bitbucket Server Platform release: `7.0.5`
2019

2120
* Supported Crowd versions:
22-
* Crowd [Long Term Support release](https://confluence.atlassian.com/crowd/crowd-release-notes-199094.html): `4.3.0`
21+
* Crowd [Long Term Support release](https://confluence.atlassian.com/crowd/crowd-release-notes-199094.html): `4.3.5`
2322

2423
## Support
2524
In case of technical questions, issues or problems with DC Apps Performance Toolkit, contact us for support in the [community Slack](http://bit.ly/dcapt_slack) **#data-center-app-performance-toolkit** channel.

app/bitbucket.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ services:
2424
- module: shellexec
2525
prepare:
2626
- python util/pre_run/environment_checker.py
27+
- python util/pre_run/check_for_updates.py
2728
- python util/pre_run/git_client_check.py
2829
- python util/data_preparation/bitbucket_prepare_data.py
2930
shutdown:
@@ -85,7 +86,7 @@ modules:
8586
httpsampler.ignore_failed_embedded_resources: "true"
8687
selenium:
8788
chromedriver:
88-
version: "91.0.4472.101" # Supports Chrome version 91. You can refer to http://chromedriver.chromium.org/downloads
89+
version: "93.0.4577.63" # Supports Chrome version 93. You can refer to http://chromedriver.chromium.org/downloads
8990
reporting:
9091
- data-source: sample-labels
9192
module: junit-xml

app/confluence.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@ services:
3838
- module: shellexec
3939
prepare:
4040
- python util/pre_run/environment_checker.py
41+
- python util/pre_run/check_for_updates.py
4142
- python util/data_preparation/confluence_prepare_data.py
4243
shutdown:
4344
- python util/post_run/jmeter_post_check.py
@@ -109,7 +110,7 @@ modules:
109110
httpsampler.ignore_failed_embedded_resources: "true"
110111
selenium:
111112
chromedriver:
112-
version: "91.0.4472.101" # Supports Chrome version 91. You can refer to http://chromedriver.chromium.org/downloads
113+
version: "93.0.4577.63" # Supports Chrome version 93. You can refer to http://chromedriver.chromium.org/downloads
113114
reporting:
114115
- data-source: sample-labels
115116
module: junit-xml

app/crowd.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,12 @@ settings:
3131

3232
JMETER_VERSION: 5.2.1
3333
LANGUAGE: en_US.utf8
34-
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.
34+
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.
3535
services:
3636
- module: shellexec
3737
prepare:
3838
- python util/pre_run/environment_checker.py
39+
- python util/pre_run/check_for_updates.py
3940
- python util/data_preparation/crowd_prepare_data.py
4041
- python util/data_preparation/crowd_sync_check.py
4142
shutdown:

app/jira.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ services:
4040
- module: shellexec
4141
prepare:
4242
- python util/pre_run/environment_checker.py
43+
- python util/pre_run/check_for_updates.py
4344
- python util/data_preparation/jira_prepare_data.py
4445
shutdown:
4546
- python util/post_run/jmeter_post_check.py
@@ -113,7 +114,7 @@ modules:
113114
httpsampler.ignore_failed_embedded_resources: "true"
114115
selenium:
115116
chromedriver:
116-
version: "91.0.4472.101" # Supports Chrome version 91. You can refer to http://chromedriver.chromium.org/downloads
117+
version: "93.0.4577.63" # Supports Chrome version 93. You can refer to http://chromedriver.chromium.org/downloads
117118
reporting:
118119
- data-source: sample-labels
119120
module: junit-xml

app/jsm.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ settings:
2121
WEBDRIVER_VISIBLE: False
2222
JMETER_VERSION: 5.2.1
2323
LANGUAGE: en_US.utf8
24-
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.
24+
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.
2525
# Action percentage for Jmeter and Locust load executors
2626
agent_browse_projects: 10
2727
agent_view_request: 24
@@ -150,7 +150,7 @@ modules:
150150
httpsampler.ignore_failed_embedded_resources: "true"
151151
selenium:
152152
chromedriver:
153-
version: "90.0.4430.24" # Supports Chrome version 90. You can refer to http://chromedriver.chromium.org/downloads
153+
version: "91.0.4472.101" # Supports Chrome version 91. You can refer to http://chromedriver.chromium.org/downloads
154154
reporting:
155155
- data-source: sample-labels
156156
module: junit-xml

app/selenium_ui/bitbucket/pages/selectors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -224,4 +224,4 @@ class UserSettingsLocator:
224224

225225

226226
class RepoCommitsLocator:
227-
repo_commits_graph = (By.CSS_SELECTOR, 'svg.commit-graph')
227+
repo_commits_graph = (By.ID, 'commits-table')

app/selenium_ui/jsm/pages/agent_pages.py

Lines changed: 31 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -90,27 +90,38 @@ def __init__(self, driver, request_key=None):
9090
def wait_for_page_loaded(self):
9191
self.wait_until_visible(ViewCustomerRequestLocators.bread_crumbs)
9292

93+
def check_comment_text_is_displayed(self, text, rte_status=None):
94+
if self.get_elements(ViewCustomerRequestLocators.comment_text_field_RTE) or \
95+
self.get_elements(ViewCustomerRequestLocators.comment_text_field):
96+
if rte_status:
97+
self.wait_until_available_to_switch(ViewCustomerRequestLocators.comment_text_field_RTE)
98+
if self.wait_until_present(ViewCustomerRequestLocators.comment_tinymce_field).text != text:
99+
self.wait_until_present(ViewCustomerRequestLocators.comment_tinymce_field).send_keys(text)
100+
self.return_to_parent_frame()
101+
self.wait_until_present(ViewCustomerRequestLocators.comment_internally_btn).click()
102+
elif self.wait_until_present(ViewCustomerRequestLocators.comment_text_field).text != text:
103+
self.wait_until_present(ViewCustomerRequestLocators.comment_text_field).send_keys(text)
104+
self.wait_until_present(ViewCustomerRequestLocators.comment_internally_btn).click()
105+
93106
def add_request_comment(self, rte_status):
94107
comment_text = f"Add comment from selenium - {self.generate_random_string(30)}"
95108
textarea = self.get_element(ViewCustomerRequestLocators.comment_collapsed_textarea)
96109
self.driver.execute_script("arguments[0].scrollIntoView(true);", textarea)
97110
textarea.click()
111+
comment_button = self.get_element(ViewCustomerRequestLocators.comment_internally_btn)
112+
self.driver.execute_script("arguments[0].scrollIntoView(true);", comment_button)
98113

99114
if rte_status:
100115
self.wait_until_available_to_switch(ViewCustomerRequestLocators.comment_text_field_RTE)
101-
tinymce_field = self.get_element(ViewCustomerRequestLocators.comment_tinymce_field)
102-
self.driver.execute_script("arguments[0].scrollIntoView(true);", tinymce_field)
103-
self.action_chains().send_keys_to_element(tinymce_field, comment_text).perform()
116+
self.wait_until_present(ViewCustomerRequestLocators.comment_tinymce_field).send_keys(comment_text)
104117
self.return_to_parent_frame()
118+
comment_button.click()
119+
self.check_comment_text_is_displayed(comment_text, True)
105120
else:
106-
comment_text_field = self.get_element(ViewCustomerRequestLocators.comment_text_field)
107-
self.driver.execute_script("arguments[0].scrollIntoView(true);", comment_text_field)
108-
self.action_chains().move_to_element(comment_text_field).click()\
109-
.send_keys_to_element(comment_text_field, comment_text).perform()
121+
self.wait_until_present(ViewCustomerRequestLocators.comment_text_field).send_keys(comment_text)
122+
comment_button.click()
123+
self.check_comment_text_is_displayed(comment_text)
110124

111-
comment_button = self.get_element(ViewCustomerRequestLocators.comment_internally_btn)
112-
self.driver.execute_script("arguments[0].scrollIntoView(true);", comment_button)
113-
comment_button.click()
114125
self.wait_until_visible(ViewCustomerRequestLocators.comment_collapsed_textarea)
115126

116127

@@ -168,13 +179,15 @@ def __init__(self, driver, project_key=None, queue_id=None):
168179
self.page_url = url_manager.view_queue_all_open()
169180

170181
def wait_for_page_loaded(self):
171-
self.wait_until_visible(ViewQueueLocators.queues_status)
182+
self.wait_until_any_ec_presented(
183+
selector_names=[ViewQueueLocators.queues_status, ViewQueueLocators.queue_is_empty], timeout=self.timeout)
172184

173185
def get_random_queue(self):
174-
queues = self.get_elements(ViewQueueLocators.queues)
175-
random_queue = random.choice([queue for queue in queues
176-
if queue.text.partition('\n')[0] not in
177-
['All open', 'Recently resolved', 'Resolved past 7 days']
178-
and queue.text.partition('\n')[2] != '0'])
179-
random_queue.click()
180-
self.wait_until_visible(ViewQueueLocators.queues_status, timeout=self.timeout)
186+
if not self.get_elements(ViewQueueLocators.queue_is_empty):
187+
queues = self.get_elements(ViewQueueLocators.queues)
188+
random_queue = random.choice([queue for queue in queues
189+
if queue.text.partition('\n')[0] not in
190+
['All open', 'Recently resolved', 'Resolved past 7 days']
191+
and queue.text.partition('\n')[2] != '0'])
192+
random_queue.click()
193+
self.wait_until_present(ViewQueueLocators.queues_status, timeout=self.timeout)

0 commit comments

Comments
 (0)