Skip to main content

Python package and CLI application to measure Power BI reports loading capacity, using different filters and parameters.

Project description

PyPI - Python Version PyPI - Version

pbi-load-test

Python package and CLI application to measure Power BI reports loading capacity, using different filters and parameters.

It simulates a realistic set of user actions such as changing slicers, filters (soon), bookmarks (soon)

[Prerequisites](#prerequisites) | [Installation](#installation) | [Configuration](#configuration) | [Example](#example)

Prerequisites

  • It requires and Azure AD login method. Ensure you have Azure CLI installed locally and authentificate (az login) in order to generate a token easily. Soon:

[!NOTE]

  • Soon: the package will open a Window to authentificate if the Azure login has not be installed
  • Soon: the package will be able to load Service Principal to to the test (Tenant ID, Client ID and Client Secret)
  • This package is based on Selenium python package. It will open a Chromium window to launch the test. In any case, it may require the Chromium driver locally. The latest versions for each OS can be found here.

Installation

With pip

$ pip install pbi-load-test

And to test the installation

$ pbi-load-test --version
0.1.1a1

with poetry

$ poetry add pbi-load-test

And to test the installation

$ poetry run pbi-load-test --version
0.1.1a1

Configuration

The load test is configurated through a config.yaml file which should be located in the current working directory.

# authentification: oauth
workspace: ... # PBI Workspace Name
report: ... # Report name
page: ... # Page name

slicers:
  - table: ... # Table name from dataset which contains the column to filter on
    column: ... # The column name containing the values to filter on
    values:
      - ... # The value to filter on
      - ...

[!NOTE] For the moment, only slicers are usable to filter on. Later, filters will be available. Also, one slicer can be used in this first version. In the future, the tool will be able to iterate between slicers list and create combinations between slicer and filter values.

Example

It ensures that a config.yaml file exists in the current working directory

[!NOTE]
The package will in the future be able to parse config.yaml file from different project through the CLI application.

❯ poetry run pbi-load-test run

CORE - MARKETING [DEV]
SFE Country Dashboard TMDL
Activity Field Days
Workspace ID: 310d9fbb-1474-4939-bcb8-669a536ec959
Report ID: c89485c6-e0c3-4715-a710-ddd450491a9a
groups/310d9fbb-1474-4939-bcb8-669a536ec959/reports/c89485c6-e0c3-4715-a710-ddd450491a9a/pages
Page ID: ReportSectioncbd8077dfb6a167ccb5e
Duration: 30.085
Press Enter to continue...
Capture_d’écran_2023-09-04_à_08_32_04_bis

After the test, all created files will be removed.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pbi_load_test-0.1.1a1.tar.gz (10.2 kB view details)

Uploaded Source

Built Distribution

pbi_load_test-0.1.1a1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file pbi_load_test-0.1.1a1.tar.gz.

File metadata

  • Download URL: pbi_load_test-0.1.1a1.tar.gz
  • Upload date:
  • Size: 10.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.14 Darwin/22.5.0

File hashes

Hashes for pbi_load_test-0.1.1a1.tar.gz
Algorithm Hash digest
SHA256 b7cbfab7465ec83dd31cc74f80f9724da366bb7256662de5aef13ada2d8480b6
MD5 74e617dd870a91d05f95b2ec1af9f4d2
BLAKE2b-256 9c453d7342b15f68770e06575001177e4c085d77e0506372750b474a1b0314c6

See more details on using hashes here.

File details

Details for the file pbi_load_test-0.1.1a1-py3-none-any.whl.

File metadata

  • Download URL: pbi_load_test-0.1.1a1-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.4.2 CPython/3.9.14 Darwin/22.5.0

File hashes

Hashes for pbi_load_test-0.1.1a1-py3-none-any.whl
Algorithm Hash digest
SHA256 70e33f7a013d411d9d1b4c7784d85b7b585c37c7fda5d7aac54d76906ec2030e
MD5 0532af0f36bbb1dbb2b815d1b5aff3d5
BLAKE2b-256 128390fd27a21f7ad1b65e013fb06bd5901117b9b6d05ad777b1ade5c41eb019

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page