Skip to content

Releases: atlassian/dc-app-performance-toolkit

Release 3.0.1

08 Jul 16:56
a310c6d
Compare
Choose a tag to compare

Version 3.0.1

Added

  • Get version functionality in case Jira Server or Confluence Server

Fixed

  • Language check for Confluence and Bitbucket in case the host uses https protocol
  • Selenium selector when no results found by JQL search

Changed

  • Documentation about Jira Index was updated to be more clear
  • Recommended Jira Database instance class for better Jira Full Re-Index timing consistency
  • Recommended Confluence Database instance class to use the latest generation
  • Removed hipchat endpoint from jira.jmx

Upgrade instructions

  • git pull from master branch
  • activate virtual env for the toolkit (see README.md for details)
  • pip install -r requirements.txt

Release 3.0.0

25 Jun 15:09
a6789ce
Compare
Choose a tag to compare

Version 3.0.0

Added

  • locust executor and Locust scripts for Jira and Confluence (default load executor is still JMeter).
  • Official Docker container with the Toolkit.
  • Instruction how to set up and run the Toolkit on an EC2 instance in a Docker container.
  • Automatic Base URL update after database restore.
  • Nodes count information into results_summary.log.
  • Dataset information into results_summary.log.
  • Check if the script is running not on the NFS server for Bitbucket.
  • Check the product language before the start.
  • Check Collaborative Editing is enabled for Confluence.
  • Check if the script is running on a bastion host.
  • Extra logging into bzt.log.

Fixed

  • Bug when Jira DC has more than 8000 projects.
  • Utility functions were removed from conftest.py.
  • Error handling in case the product version was not found.
  • Error handling in case the product URL is invalid.
  • Bug with an infinite loop on user creation for Confluence.
  • Bug with random project selection for Jira.
  • Bug when JMeter script fails on Bitbucket with postfix.

Changed

  • print_time decorator was refactored for better readability and simplicity.
  • Do not override License on database restore.
  • bzt version bump up to 1.14.2.
  • ChromeDriver version bump up to 83.0.4103.39 to support Chrome browser version 83.
  • Downstream library's versions bump.
  • Skip the whole test if login failed.

Upgrade instructions

  • git pull from master branch
  • activate virtual env for the toolkit (see README.md for details)
  • pip install -r requirements.txt

Locust executor

In release 3.0.0 new locust executor and Locust scripts were added for Jira and Confluence. Locust (https://locust.io) is an open-source performance tool based on Python requests library. The benefit of using locust executor over jmeter executor is simplicity, extensibility and debugging flexibility. Locust scripts are a simple Python code that is straightforward to run, debug and extend.
jmeter executor is set by default in jira.yml and confluence.yml files. But if you want to give Locust a try or think that JMeter UI is too complicated for issues debugging or new app-specific actions creation just change load_executor value to locust in .yml configuration file.
More details about Locust could be found in README.md files.

App-specific actions change required

DCAPT framework uses print_timing decorator to measure timings of all Selenium actions and sub-actions.
In release 3.0.0 print_timing decorator was refactored for better readability and convenience of use. The signature of the decorator was changed, so if you have app-specific actions created for a previous version of the toolkit you need to update it as shown on an example below. Also, now there is no need to pass interaction into every selenium webdriver step.
Old decorator signature and usage example:

def custom_action(webdriver, datasets):
    page = BasePage(webdriver)
    @print_timing
    def measure(webdriver, interaction):
        @print_timing
        def measure(webdriver, interaction):
            page.go_to_url(f"{JIRA_SETTINGS.server_url}/plugin/report")
            page.wait_until_visible((By.ID, 'report_app_element_id'), interaction)

        measure(webdriver, 'selenium_app_custom_action:view_report')

        @print_timing
        def measure(webdriver, interaction):
            page.go_to_url(f"{JIRA_SETTINGS.server_url}/plugin/dashboard")
            page.wait_until_visible((By.ID, 'dashboard_app_element_id'), interaction)

        measure(webdriver, 'selenium_app_custom_action:view_dashboard')
    measure(webdriver, 'selenium_app_custom_action')

New decorator signature and usage example:

def custom_action(webdriver, datasets):
    page = BasePage(webdriver)

    @print_timing("selenium_app_custom_action")
    def measure():

        @print_timing("selenium_app_custom_action:view_report")
        def sub_measure():
            page.go_to_url(f"{JIRA_SETTINGS.server_url}/plugin/report")
            page.wait_until_visible((By.ID, 'report_app_element_id'))
        sub_measure()

        @print_timing("selenium_app_custom_action:view_dashboard")
        def sub_measure():
            page.go_to_url(f"{JIRA_SETTINGS.server_url}/plugin/dashboard")
            page.wait_until_visible((By.ID, 'dashboard_app_element_id'))
        sub_measure()
    measure()

Release 2.0.0

07 Apr 13:37
26cba68
Compare
Choose a tag to compare

Version 2.0.0

Added

  • Support for Bitbucket 7.0.0
  • Results_summary.log file with detailed information of the run
  • Scenario summary report
  • Check if git installed for Bitbucket
  • Post-run check for JMeter health
  • Post-run artifacts folder cleanup

Fixed

  • Documentation typos
  • Bitbucket create_pull_request selenium action to be more realistic

Changed

  • Refactored all Selenium code for Jira, Confluence, and Bitbucket to Page Object pattern
  • ChromeDriver version bump to 80.0.3987.106 to support Chrome version 80
  • Downstream libraries versions bump

Upgrade instructions

  • git pull from master branch
  • activate virtual env for the toolkit (see README.md for details)
  • pip install -r requirements.txt

Release 1.3.0 Beta

05 Mar 15:34
8583203
Compare
Choose a tag to compare

Version 1.3.0 beta

Added

  • Bitbucket 6.10.0 support
  • Check whether Remote API (XML-RPC & SOAP) is enabled for Confluence

Fixed

  • Escaping of project keys for Jira
  • Removed User-Agent header from JMeter scripts
  • Removed w3c timings generation

Changed

  • ChromeDriver version bump to 80.0.3987.16 to support Chrome version 80
  • JMeter version bump to 5.2.1
  • bzt version bump to 1.4.1
  • downstream libraries versions bump
  • Documentation enhancements

Upgrade instructions

  • git pull from master branch
  • activate virtual env for the toolkit (see README.md for details)
  • pip install -r requirements.txt

Release 1.2.1 Beta

21 Jan 11:26
6970354
Compare
Choose a tag to compare

Version 1.2.1 beta

Added

  • Support of Python 3.8
  • Upgrade instructions into README.md

Fixed

  • Projects pagination logic when Jira DC has less than 25 projects
  • Exessive logging for attachments untar

Changed

  • Improved create page actions for Confluence DC
  • Enhanced get all projects method for Jira DC - results limiting was introduced
  • Dataset scripts logging improved to be automation-friendly

Upgrade instructions

  • git pull from master branch
  • activate virtual env for the toolkit (see README.md for details)
  • pip install -r requirements.txt

Release 1.2.0 Beta

23 Dec 10:39
ec63284
Compare
Choose a tag to compare

Version 1.2.0 beta

Added

  • Confluence 7.0.4 support
  • Environment pre-run checker (Python version validation)
  • Analytics collector (see README.md for more details)

Fixed

  • Default selenium extension test template for Jira and Confluence
  • An issue with Confluence custom application port

Changed

  • Improved filtering for Confluence blog posts
  • ChromeDriver version bumped up to 79.0.3945.36 to support Chrome 79

Upgrade instructions

  • git pull from master branch
  • activate virtual env for the toolkit (see README.md for details)
  • pip install -r requirements.txt

Release 1.1.1 Beta

05 Dec 14:44
14d6ae7
Compare
Choose a tag to compare

Version 1.1.1 beta

Fixed

  • README.md to reflect the correct status of supported Atlassian apps

Release 1.1.0 Beta

25 Nov 12:00
53b9b29
Compare
Choose a tag to compare

Version 1.1.0 beta

Added

  • Confluence 6.13.8 support:
    • Selenium scripts
    • JMeter script
    • util scripts
    • User Guide
    • "Large" dataset
  • Support Jira ER 8.5.0
  • User-friendly message for CAPTCHA
  • New project folders structure unified for both Jira and Confluence

Fixed

  • Jira “get projects pages“ logic
  • Edge case when only one Jira issue type exists
  • Error when toolkit full path contains spaces

Changed

  • ChromeDriver version bump to 78.0.3904.70 to support Chrome version 78
  • Taurus version bump to 1.13.9
  • Filter only Jira Software projects/tickets/etc
  • Improved yml config reading

Upgrade instructions

  • git pull from master branch
  • activate virtual env for the toolkit (see README.md for details)
  • pip install -r requirements.txt

Release 1.0.6 Beta

21 Oct 12:33
4e0100a
Compare
Choose a tag to compare

Version 1.0.6 beta

Fixed

  • Collate issue in populate_db script - resolves a problem when a Jira node is not starting after scale event.
  • Incorrect behavior of index-sync script - resolves an issue with incorrect index sync status reporting.

Changed

  • Updated documentation with Base URL correction - after dataset load Base URL has to be updated on System preferences.

Known issues

Release 1.0.5 Beta

08 Oct 08:59
ebe8ba8
Compare
Choose a tag to compare

Version 1.0.5 beta

Added

  • Support of latest Enterprise Release Jira 7.13.6

Changed

  • Chromedriver version bump to 77.0.3865.40 to support Chrome 77.
  • Updated documentation to reflect Jira 7.13.6 support