DEV Community

Cover image for SoapUi Load Test reporting Dashboard
Akshay C A
Akshay C A

Posted on

SoapUi Load Test reporting Dashboard

In this post I'd like to show you how to create the Load Test results dashboard using plotly and Dash.
Assuming that you use the SoapUi opensource version to run your load tests, you know there are very limited features to -

  1. Archive the test results.
  2. Analyze how the system is performing with respect to the previous builds.
  3. Dashboard with graphical representation to show the performance of the system over time and load.

Here is the solution which I created to overcome these limitations.

  • Since we know a .csv file is generated with the statistics when we run the load test from the command prompt.

I used Python with Pandas to filter out the unwanted data and archive the results in the database using pymssql.

  • Now, I've my results archived in the database, I used the Dash and plotly to create a dashboard and hosted it on a server which can be accessible to the stakeholders.

So, Let's get Started !

Code Repository - https://github.com/akshayca/SoapUiLoadTestDashboard

Step 1 - Execution

Create a runLoadTest.bat file to run all your Load Tests from command prompt
I've used the calculator example project.

Below is the project structure, I've placed my example-soapui-project.xml in the TestCase folder -

image

the execution command would look something like this -

>set projectRootFolder=C:\SoapUiLoadTest\TestCase\

>set ReportFoler=C:\SoapUiLoadTest\TestResults\

>set limit=15
>set thread=10

>loadtestrunner.bat -s"CalculatorSoap TestSuite" -c"Add TestCase"  -l"LoadTestAdd" -m%limit% -n%thread% -r -f%ReportFoler% "%projectRootFolder%example-soapui-project.xml"
Enter fullscreen mode Exit fullscreen mode

Run the runLoadTest.bat, execution will start and the reports will be generated with the current timestamp.

image

Step 2 - Data Archiving and Reporting

Create a database called 'SoapUILoadTestResults' to archive the results -
image

Run the createDashboard.py

Note: You need to pip install all the imports used for this project and have bWLwgP.css file in the assets folder.

image

Once the execution is completed, you can the check the data archived in the database.

image

Dash will be running on http://127.0.0.1:8050/

Once you have enough data on your dashboard would look something like this -

image

image

Code repository - https://github.com/akshayca/SoapUiLoadTestDashboard

Let me know if you need any help with this :)

Top comments (0)