SAP ERP (Enterprise Resource Planning) is an enterprise resource management software that covers the work of an entire company. SAP is the market leader in enterprise application software, helping companies of all sizes and industries run at their best: SAP customers generate 87% of total global commerce. If this is the case in your company, you might have asked yourself how to test your SAP’s performance and which tools to choose. In this article, we will share the basics of testing SAP ERP with LoadRunner.
Why Do You Need to Test Your SAP Performance?
Like any ERP system, SAP has to provide its users with up-to-date, reliable data about the current state of affairs for decision-making. Besides, this kind of information must be reliably protected. With the development of your company, the ERP system must be updated and rebuilt according to new business goals, which leads to the need for testing. But which tools should you use to test the performance of your SAP?
Is LoadRunner a Good Tool for SAP Performance Testing?
LoadRunner is the perfect tool for executing SAP performance testing. It understands the protocol used by the SAP GUI interface and can record or reproduce it, so it can build a robot and generate thousands of copies of it almost instantly to execute the performance test.
There are two main types of SAP scripts: SAP-GUI and SAP-WEB. Before you start recording the script, check if you have two basic prerequisites:
Recording Scripts with SAP GUI
To test the SAP application, choose SAP GUI:
Choose SAP Logon in the Application menu, then choose the location of your application (although it is usually chosen automatically). Click Start Recording to start recording the script.
The application starts running. At this stage, select a system to be tested by double-clicking it.
In the User/Password fields, the password field will not show characters, so be careful when entering the password. For instance, it was possible to make a mistake only twice in our project. After the third attempt, the account was blocked.
After entering your login and password, you will be transferred to the system’s main page you chose to test. There, act according to the script.
If you need to, switch to another tab using the command mentioned in the testing script.
Debugging SAP-GUI Scripts
After recording the script, the next steps are parameterization and correlation.
Snapshots displayed graphically will help you to do so: click a cell, a button, or any other element, and add the function you need. For example, add a row that will fill the cell with other data or, on the contrary, pull out the data for further work.
Sometimes, you will have to use spy applications, such as Object Spy, to view certain arguments, paths, or an ID of a particular object (e.g., a button), since Snapshot is not always enough.
After recording the scripts, you will see that some parameters in the table were parameterized automatically. You’d better edit them since problems may arise later. However, don’t forget that there are different types of parameters, and some cells accept only the tabular ones.
For example, we filled in two ExpTy fields with the value “AIR” and two Amount fields with the value 1000.
As you can see, two values were written into one variable, “{data}.”
The value of the first row of the column was recorded in the variable, too. So, it’s better to edit the code and separate the variables.
After you change sapgui_table_fill_data into sapgui_set_text, the link will also specify the session number and the window number, which will need to be removed (ses[0]/wnd[0]/). Otherwise, they will cause an error if multiple test runs are used.
If errors occur when running the script, you can run the script with the display. To do so, go to Runtime Settings→General→Performance, and check all fields. You will need to arrange lr_think_time() in order to see the location of the error or run the script in step-by-step mode.
Problems and Solutions in Performance Testing of SAP GUI with LoadRunner
Check for a pop-up window
Sometimes, the same action can bring different results. For example, an additional window may be displayed, and ignoring it is impossible. For this case, we have a ready-made solution.
if (sapgui_is_object_available("wnd[1]")){
sapgui_select_active_window("wnd[1]");
sapgui_press_button("exit",
"ses[0]/wnd[1]/tbar[0]/btn[0]",
LAST);
sapgui_select_active_window("wnd[0]");
}
Check for an empty string
If you need the resulting number to use it in the future after saving or executing the script, run a check. This is necessary so that if, for some reason, the number does not appear, the script cannot continue its work.
Checking for an empty string should be run before Action.
void failIfEmpty(char * parname) {
lr_save_string(parname,"par");
if(lr_eval_string(lr_eval_string("{{par}}"))[0]==0)
lr_exit(LR_EXIT_VUSER,LR_FAIL);
}
Action{
//the function is called internally after correlation
//failIfEmpty(parameter); example :
sapgui_status_bar_get_param("1","ram_contract", LAST);
// correlation, you’re pulling out the created contract
failIfEmpty("ram_contract");
// check what you pulled out. If it is empty, the script will be completed with an error.
}
A detailed description of LoadRunner functions is available on the website https://admhelp.microfocus.com.
Recording Performance Testing Scripts for SAP WEB with LoadRunner
It turns out that recording and debugging SAP WEB scripts is not much different from recording and debugging Web-HTTP/HTML scripts. When you create a new script, select SAP – Web protocol.
The snapshot shows RequestBody and ResponseBody, whilst web_url, web_submit_data, and web_add_header are written in the code.
Conclusions
You can use the LoadRunner performance testing tool to do the performance testing for SAP GUI or SAP WEB Applications. You will need to understand concepts like SAP GUI protocol, Control IDs, Grids, Object IDs, Verification Points, etc., but trust us, it is absolutely doable.
If your plate is full right now, never do tomorrow what you can let us do today. PFLB is a specialized performance testing company with 450+ engineers on staff who have completed 300+ major projects. Rest assured, they can help with yours, too.
💡 Read Our Case Studies:
– SAP ERP Load Testing for a Retail Company ->
– SAP BW Comparative Load Testing (Oracle vs SAP HANA vs EXADATA) ->
– SAP ERP Load Testing for a Major Meat Producer ->
Related insights in blog articles
Top 5 JMeter Alternatives
It’s hard to find someone in the performance testing community who hasn’t heard of Apache JMeter. We love it for being open-source, free, feature-rich, protocol-friendly, and easily extendable. While JMeter remains a favorite, there are other tools that offer unique strengths and advantages. This article presents a comprehensive list of the top 5 JMeter alternatives, […]
How to Load Test API: A Full Guide
In today’s digital ecosystem, APIs form the backbone of diverse software applications, facilitating communication and data exchange for an interconnected digital world. However, as demand for these services grows, ensuring their robustness and ability to handle varying levels of traffic becomes crucial. This is where PFLB, a next-generation, cloud-based load testing tool, comes in. In […]
Top 8 Gatling Alternatives Overview
Gatling Cloud, a cloud-based extension of the open-source performance testing tool, is a powerful load testing solution with its benefits. Those include excellent scalability, no-code test builder, moderate price for virtual user hours (VUh), and numerous useful integrations. However, with its steep learning curve due to reliance on Scala/Java and setup (and overall) complexity, it […]
Top 10 BlazeMeter Alternatives
Over a decade ago, BlazeMeter reshaped the landscape of load testing by moving it to the cloud. Serving as a cloud-based execution platform for the well-known JMeter, it freed engineers from the burden of managing infrastructure and allowed them to focus solely on testing. The result was a significant reduction in operational complexity and a […]
Be the first one to know
We’ll send you a monthly e-mail with all the useful insights that we will have found and analyzed
People love to read
Explore the most popular articles we’ve written so far
- Cloud-based Testing: Key Benefits, Features & Types Dec 5, 2024
- TOP 10 Best Load Testing Tools for 2024 Nov 7, 2024
- Benefits of Performance Testing for Businesses Sep 4, 2024
- Android vs iOS App Performance Testing: What’s the Difference? Dec 9, 2022
- How to Save Money on Performance Testing? Dec 5, 2022