Skip to content

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

License

Notifications You must be signed in to change notification settings

lgrosjean/pbi-load-test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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

{WORKSPACE NAME}
{REPORT NAME}
{PAGE NAME}
Workspace ID: {WORKSPACE ID}
Report ID: {REPORT ID}
groups/{GROUP ID}/reports/{REPORT ID}/pages
Page ID: {PAGE ID}
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.

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published