-
Notifications
You must be signed in to change notification settings - Fork 467
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #53 from atlassian/release-1.1.0-beta
Release 1.1.0 beta
- Loading branch information
Showing
91 changed files
with
13,015 additions
and
688 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,10 +1,11 @@ | ||
.idea/ | ||
outputs/ | ||
**/results/ | ||
**/datasets/*.csv | ||
**/datasets/*/*.csv | ||
*venv* | ||
.DS_Store | ||
*.swp | ||
*.iml | ||
*.log | ||
*.pyc | ||
local_*.yml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,85 @@ | ||
--- | ||
settings: | ||
artifacts-dir: results/confluence/%Y-%m-%d_%H-%M-%S | ||
aggregator: consolidator | ||
verbose: false | ||
env: | ||
application_hostname: test_confluence_instance.atlassian.com # Confluence DC hostname without protocol and port e.g. test-jira.atlassian.com or localhost | ||
application_protocol: http # http or https | ||
application_port: 80 # 80, 443, 8080, 2990, etc | ||
application_postfix: # e.g. /jira in case of url like http://localhost:2990/jira | ||
admin_login: admin | ||
admin_password: admin | ||
concurrency: 200 | ||
test_duration: 45m | ||
WEBDRIVER_VISIBLE: False | ||
JMETER_VERSION: 5.1 | ||
services: | ||
- module: shellexec | ||
prepare: | ||
- python util/data_preparation/confluence/prepare-data.py | ||
shutdown: | ||
- python util/jtl_convertor/jtls-to-csv.py kpi.jtl selenium.jtl | ||
execution: | ||
- scenario: jmeter | ||
concurrency: ${concurrency} | ||
hold-for: ${test_duration} | ||
ramp-up: 3m | ||
- scenario: selenium | ||
executor: selenium | ||
runner: pytest | ||
hold-for: ${test_duration} | ||
scenarios: | ||
selenium: | ||
script: selenium_ui/confluence-ui.py | ||
jmeter: | ||
script: jmeter/confluence.jmx | ||
properties: | ||
application_hostname: ${application_hostname} | ||
application_protocol: ${application_protocol} | ||
application_port: ${application_port} | ||
application_postfix: ${application_postfix} | ||
# Workload model | ||
total_actions_per_hr: 20000 | ||
perc_view_page: 54 | ||
perc_view_dashboard: 6 | ||
perc_view_blog: 8 | ||
perc_search_cql: 7 | ||
perc_create_blog: 3 | ||
perc_create_and_edit_page: 6 | ||
perc_comment_page: 5 | ||
perc_view_attachment: 3 | ||
perc_upload_attachment: 5 | ||
perc_like_page: 3 | ||
perc_standalone_extension: 0 # By default disabled | ||
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-cmd=2.2 | ||
- 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: "78.0.3904.70" # Supports Chrome version 78. You can refer to http://chromedriver.chromium.org/downloads |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
datasets/confluence/static-content/upload/test1.png,image/png,test1.png | ||
datasets/confluence/static-content/upload/test2.jpg,image/jpeg,test2.jpg | ||
datasets/confluence/static-content/upload/test3.png,image/png,test3.png | ||
datasets/confluence/static-content/upload/test4.png,image/png,test4.png | ||
datasets/confluence/static-content/upload/test5.jpg,image/jpeg,test5.jpg | ||
datasets/confluence/static-content/upload/test.pdf,application/pdf,test.pdf |
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,90 @@ | ||
<?xml version="1.0" encoding="UTF-8"?> | ||
<jmeterTestPlan version="1.2" properties="5.0" jmeter="5.1 r1853635"> | ||
<hashTree> | ||
<TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="Test Plan" enabled="true"> | ||
<stringProp name="TestPlan.comments"></stringProp> | ||
<boolProp name="TestPlan.functional_mode">false</boolProp> | ||
<boolProp name="TestPlan.tearDown_on_shutdown">true</boolProp> | ||
<boolProp name="TestPlan.serialize_threadgroups">false</boolProp> | ||
<elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true"> | ||
<collectionProp name="Arguments.arguments"/> | ||
</elementProp> | ||
<stringProp name="TestPlan.user_define_classpath"></stringProp> | ||
</TestPlan> | ||
<hashTree> | ||
<TestFragmentController guiclass="TestFragmentControllerGui" testclass="TestFragmentController" testname="extension" enabled="false"/> | ||
<hashTree> | ||
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="extend_view_page" enabled="true"> | ||
<stringProp name="IfController.condition">${__groovy("${extend_action}" == "view_page")}</stringProp> | ||
<boolProp name="IfController.evaluateAll">false</boolProp> | ||
<boolProp name="IfController.useExpression">true</boolProp> | ||
</IfController> | ||
<hashTree/> | ||
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="extend_view_dashboard" enabled="true"> | ||
<stringProp name="IfController.condition">${__groovy("${extend_action}" == "view_dashboard")}</stringProp> | ||
<boolProp name="IfController.evaluateAll">false</boolProp> | ||
<boolProp name="IfController.useExpression">true</boolProp> | ||
</IfController> | ||
<hashTree/> | ||
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="extend_view_blog" enabled="true"> | ||
<stringProp name="IfController.condition">${__groovy("${extend_action}" == "view_blog")}</stringProp> | ||
<boolProp name="IfController.evaluateAll">false</boolProp> | ||
<boolProp name="IfController.useExpression">true</boolProp> | ||
</IfController> | ||
<hashTree/> | ||
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="extend_search_cql" enabled="true"> | ||
<stringProp name="IfController.condition">${__groovy("${extend_action}" == "search_cql")}</stringProp> | ||
<boolProp name="IfController.evaluateAll">false</boolProp> | ||
<boolProp name="IfController.useExpression">true</boolProp> | ||
</IfController> | ||
<hashTree/> | ||
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="extend_create_blog" enabled="true"> | ||
<stringProp name="IfController.condition">${__groovy("${extend_action}" == "create_blog")}</stringProp> | ||
<boolProp name="IfController.evaluateAll">false</boolProp> | ||
<boolProp name="IfController.useExpression">true</boolProp> | ||
</IfController> | ||
<hashTree/> | ||
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="extend_create_and_edit_page" enabled="true"> | ||
<stringProp name="IfController.condition">${__groovy("${extend_action}" == "create_and_edit_page")}</stringProp> | ||
<boolProp name="IfController.evaluateAll">false</boolProp> | ||
<boolProp name="IfController.useExpression">true</boolProp> | ||
</IfController> | ||
<hashTree/> | ||
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="extend_edit_page" enabled="true"> | ||
<stringProp name="IfController.condition">${__groovy("${extend_action}" == "edit_page")}</stringProp> | ||
<boolProp name="IfController.evaluateAll">false</boolProp> | ||
<boolProp name="IfController.useExpression">true</boolProp> | ||
</IfController> | ||
<hashTree/> | ||
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="extend_comment_page" enabled="true"> | ||
<stringProp name="IfController.condition">${__groovy("${extend_action}" == "comment_page")}</stringProp> | ||
<boolProp name="IfController.evaluateAll">false</boolProp> | ||
<boolProp name="IfController.useExpression">true</boolProp> | ||
</IfController> | ||
<hashTree/> | ||
<IfController guiclass="IfControllerPanel" testclass="IfController" testname="extend_standalone_extension" enabled="true"> | ||
<stringProp name="IfController.condition">${__groovy("${extend_action}" == "standalone_extension")}</stringProp> | ||
<boolProp name="IfController.evaluateAll">false</boolProp> | ||
<boolProp name="IfController.useExpression">true</boolProp> | ||
</IfController> | ||
<hashTree/> | ||
<kg.apc.jmeter.samplers.DummySampler guiclass="kg.apc.jmeter.samplers.DummySamplerGui" testclass="kg.apc.jmeter.samplers.DummySampler" testname="/example/request/extension" enabled="false"> | ||
<boolProp name="WAITING">true</boolProp> | ||
<boolProp name="SUCCESFULL">true</boolProp> | ||
<stringProp name="RESPONSE_CODE">200</stringProp> | ||
<stringProp name="RESPONSE_MESSAGE">OK</stringProp> | ||
<stringProp name="REQUEST_DATA">Dummy Sampler used to simulate requests and responses | ||
without actual network activity. This helps debugging tests.</stringProp> | ||
<stringProp name="RESPONSE_DATA">Dummy Sampler used to simulate requests and responses | ||
without actual network activity. This helps debugging tests.</stringProp> | ||
<stringProp name="RESPONSE_TIME">${__Random(50,500)}</stringProp> | ||
<stringProp name="LATENCY">${__Random(1,50)}</stringProp> | ||
<stringProp name="CONNECT">${__Random(1,5)}</stringProp> | ||
<stringProp name="URL"></stringProp> | ||
<stringProp name="RESULT_CLASS">org.apache.jmeter.samplers.SampleResult</stringProp> | ||
</kg.apc.jmeter.samplers.DummySampler> | ||
<hashTree/> | ||
</hashTree> | ||
</hashTree> | ||
</hashTree> | ||
</jmeterTestPlan> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,26 @@ | ||
from selenium.webdriver.common.by import By | ||
from selenium.webdriver.support import expected_conditions as EC | ||
from selenium.webdriver.support.wait import WebDriverWait | ||
|
||
from selenium_ui.conftest import print_timing | ||
from util.conf import JIRA_SETTINGS | ||
|
||
APPLICATION_URL = JIRA_SETTINGS.server_url | ||
timeout = 20 | ||
|
||
|
||
def custom_action(webdriver, datasets): | ||
@print_timing | ||
def measure(webdriver, interaction): | ||
@print_timing | ||
def measure(webdriver, interaction): | ||
webdriver.get(f'{APPLICATION_URL}/plugins/servlet/some-app/reporter') | ||
WebDriverWait(webdriver, timeout).until(EC.visibility_of_element_located((By.ID, 'plugin-element'))) | ||
measure(webdriver, 'selenium_app_custom_action:view_report') | ||
|
||
@print_timing | ||
def measure(webdriver, interaction): | ||
webdriver.get(f'{APPLICATION_URL}/plugins/servlet/some-app/administration') | ||
WebDriverWait(webdriver, timeout).until(EC.visibility_of_element_located((By.ID, 'plugin-dashboard'))) | ||
measure(webdriver, 'selenium_app_custom_action:view_dashboard') | ||
measure(webdriver, 'selenium_app_custom_action') |
Oops, something went wrong.