Load Testing Web Dynpro ABAP Applications Using Apache JMeter
A couple of days ago my client wanted to load test Web Dynpro ABAP applications. After a few search on Google I found some products. Several downloads and searches I decided to use Apache JMeter. It is easy to use Apache JMeter with web applications. But on our hand we have Web Dynpro ABAP. We will record our scenario and replay it with parameters.
Let’s start to test it.
Click on jmeter.bat in JMeter folder to start.
First create a “Thread Group” by right clicking on Test Plan. Select “Add->Threads(Users)->Thread Group”.
Then right click on newly created “Thread Group” and select “Add->Config Element->HTTP Request Defaults”
We want to manage cookies so add “HTTP Cookie Manager”. Right click on “Thread Group” select “Add->Config Element->HTTP Cookie Manager”
We want to record our scenario. So add a “Recording Controller”. Right click on “Thread Group” select “Add->Logic Controller->Recording Controller”.
And last step add a “Listener” so we can view requests. Right click on “Thread Group” select “Add->Listener->View Results Tree”
So we have done in “Test Plan”. We want to record our scenario, so we will add an HTTP Proxy.
Right click on “WorkBench” select “Add->Non-Test Elements->HTTP Proxy Server”.
Yes we are ready to record scenario. Open your Internet Explorer and set proxy “127.0.0.1” and port “8080”.
(No need to paste screenshot!)
Enter your Web Dynpro ABAP application url and do something in it. After you clicked something in your application let’s view “Recording Controller”.
Here i deleted js files and css files in the list. You can do it in HTTP Proxy server excluding them.
As you see in screen shot values are changed. These are values which Web Dynpro ABAP uses to handle. If you dont change them you cannot test your application. So I used “Regular Expressions Extractor” to get them and use them. There are two parameters “sap-contextid” and “sap-wd-secure-id”. Find request which they are in response body. And right click on request which you find them in response. Create two “Regular Expressions Extractor”.
These regular expressions get parameter values from body, and you can use them as a variable in the requests:
And now you are ready to test your Web Dynpro ABAP application.