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)
- 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.
$ pip install pbi-load-test
And to test the installation
$ pbi-load-test --version
0.1.1a1
$ poetry add pbi-load-test
And to test the installation
$ poetry run pbi-load-test --version
0.1.1a1
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.
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...
After the test, all created files will be removed.