Python package and CLI application to measure Power BI reports loading capacity, using different filters and parameters.
Project description
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 parseconfig.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...
After the test, all created files will be removed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | b7cbfab7465ec83dd31cc74f80f9724da366bb7256662de5aef13ada2d8480b6 |
|
MD5 | 74e617dd870a91d05f95b2ec1af9f4d2 |
|
BLAKE2b-256 | 9c453d7342b15f68770e06575001177e4c085d77e0506372750b474a1b0314c6 |
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
Algorithm | Hash digest | |
---|---|---|
SHA256 | 70e33f7a013d411d9d1b4c7784d85b7b585c37c7fda5d7aac54d76906ec2030e |
|
MD5 | 0532af0f36bbb1dbb2b815d1b5aff3d5 |
|
BLAKE2b-256 | 128390fd27a21f7ad1b65e013fb06bd5901117b9b6d05ad777b1ade5c41eb019 |