/dc-app-performance-toolkit

Atlassian Data Center App Performance Toolkit

Primary LanguagePythonApache License 2.0Apache-2.0

Data Center App Performance Toolkit

The Data Center App Performance Toolkit extends Taurus which is an open source performance framework that executes JMeter and Selenium.

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

Supported versions

Support

In case of technical questions, issues or problems with DC Apps Performance Toolkit, contact us for support in the community Slack #data-center-app-performance-toolkit channel.

Installation and set up

Dependencies

  • Python 3.7, 3.8 or 3.9 and pip
  • JDK 8
  • Google Chrome web browser
  • Git client (only for Bitbucket DC)

Please make sure you have a version of Chrome browser that is compatible with ChromeDriver version set in app/$product.yml file (modules->selenium->chromedriver->version).

If a first part of ChromeDriver version does not match with a first part of your Chrome browser version, update Chrome browser or set compatible ChromeDriver version in .yml file.

macOS setup

Make sure that you have:

  • Python (see dependencies section for supported versions)
  • pip
  • JDK 11 installed
  • XCode Command Line Tools
  • Google Chrome web browser
python3 --version
pip --version
java -version
# command to check if XCode Command Line Tools installed
xcode-select --print-path
# or command to install if XCode Command Line Tools
xcode-select --install

For Bitbucket DC check that Git is installed:

git --version

We recommend using virtualenv for Taurus.

  1. Install virtualenv with pip:
pip install virtualenv
  1. Create new virtual env with python3:
virtualenv venv -p full_path_to_python # e.g. use `which python3.9` to find the path
  1. Activate virtual env:
source venv/bin/activate
  1. Install dependencies:
pip install -r requirements.txt

Linux setup

Make sure that you have:

  • Python (see dependencies section for supported versions)
  • pip
  • JDK 11 installed
  • Python developer package (e.g. python3.9-dev package for Python3.9)
  • Google Chrome web browser
python3 --version
pip --version
java -version

For Bitbucket DC check that Git is installed:

git --version

We recommend using virtualenv for Taurus. See example setup below.

Example setup for clean Ubuntu 20.04

JDK setup (if missing):

sudo apt-get update
sudo apt-get install -y openjdk-11-jre-headless

Chrome setup (if missing):

sudo apt-get update
wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo apt-get install -y ./google-chrome-stable_current_amd64.deb

Python and virtualenv setup:

sudo apt-get update
sudo apt-get -y install python3.9-dev python3-pip virtualenv
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.9 1
virtualenv venv -p /usr/bin/python
source venv/bin/activate
pip install -r requirements.txt

Windows setup

Installing Taurus manually

Make sure you have Python (see dependencies section for supported versions), pip, and JDK 11 installed:

python --version or python3 --version
pip --version
java -version
Microsoft Visual C++ 14
Windows 10 SDK

For Bitbucket Server check that Git is installed:

git --version

Make sure you have Visual Studio build tool v14.22 installed. Otherwise, download it from Microsoft Visual C++ Build Tools: and do the following:

  1. Select Tools for Visual Studio 2019.
  2. Download and run Build Tools for Visual Studio 2019.
  3. Select the C++ build tools check box.
  4. Select the MSVC v142 - VS 2019 C++ x64/x86 build tools (v14.22) check box (clear all the others).
  5. Click Install.

Setup Windows 10 SDK

We recommend using virtualenv for Taurus.

  1. Install virtualenv with pip:
pip install virtualenv
  1. Create new virtual env with python3:
virtualenv venv -p full_path_to_python # e.g. use `where python` to find the path to correct python
  1. Activate virtual env:
venv\Scripts\activate
  1. Install dependencies:
pip install -r requirements.txt

Upgrading the toolkit

Get latest codebase from master branch:

git pull

Activate virtual env for the toolkit and install latest versions of libraries:

pip install -r requirements.txt

Additional info

Official Taurus installation instructions are located here.

Analytics

The Data Center App Performance Toolkit includes some simple usage analytics.
We collect this data to better understand how the community is using the Performance Toolkit, and to help us plan our roadmap. When a performance tests is completed we send one HTTP POST request with analytics.

The request include the following data, and will in no way contain PII (Personally Identifiable Information).

  • application under test (Jira/Confluence/Bitbucket)
  • timestamp of performance toolkit run
  • performance toolkit version
  • operating system
  • concurrency and test_duration from $product.yml file
  • actual run duration
  • executed action names and success rates
  • unique user identifier (non PII)

To help us continue improving the Toolkit, we’d love you to keep these analytics enabled in testing, staging, and production. If you don’t want to send us analytics, you can turn off the allow_analytics toggle in $product.yml file.

Running Taurus

Navigate to docs folder and follow instructions.