PeopleSoft Performance Testing Using JMeter - Part 5

The final part of this series helps us to understand the way the input information can be parametrized in JMeter. We will list a way to feed dynamic values to the input field and test our results. If you are landing on the page straight from the internet, make sure that you check the related references below for Part 1 to Part 4.

For our example, we will attempt to read dynamic values for our field from a CSV file. To do this, right click on the thread group in JMeter and add a “CSV Data Set Config Element”. This element needs to be configured as shown below:

CSV Data Set Configuration to read values from a CSV file
The CSV file needs to be placed in the same directory where the project resides.  If JMeter cannot find  the CSV file at runtime following exception would be logged in the “bin” folder;

2010/xx/xx 14:15:40 WARN  - jmeter.config.CSVDataSet: Empty delimiter converted to ','
2010/xx/xx 14:15:40 ERROR - jmeter.config.CSVDataSet: java.io.FileNotFoundException: (The system cannot find the file specified)

For our example, the dynamic variable is “userid” which will be read from column 1 of the CSV file.Now, this variable needs to be fed into the request that is adding this on the page. This can be located under the thread group. The type will be a ‘HTTP Request’. A sample screen is presented below

Before Parametrization in JMeter - Initial Setup
The value “123” which is static, needs to be parametrized to read from the CSV files created earlier. To do so, change the value to the variable name as shown in the screenshot below

After Parametrization in JMeter - PeopleSoft Field Modified to Pick Dynamic Values
After this is done, run the scenario by selecting “Run -> Start”. I had 10 values inside the CSV file and it was properly parametrized and dynamic data got inserted into the table.It is possible to parametrize multiple input parameters by following the same option.

That completes a simple parametrization procedure. In the upcoming posts, let us see more complicated examples in PeopleSoft especially around adding dynamic values in a Grid and Scroll Area.

PeopleSoft Test Automation Using JMeter - Part 4

In our quest to build a performance testing solution in JMeter for PeopleSoft, we have completed all the preliminary setup to initiate the performance testing. In this post, we will see how to record the script in PeopleSoft and test the recording script.

The recording procedure logs into the PeopleSoft environment, enter some values in the test page, click on submit and logout from the portal.For our testing purposes, we will enter "123" in the test page field that was built as a part of part1.

Open the web browser and run these steps once. Note that the proxy settings of the web server should point to the one as configured in Part3. Make sure that the proxy is turned on. (start button against the proxy object should be clicked). The recorded script gets reflected on the JMeter Menu item.Once we have recorded the script, it is required to attempt a playback on the script to see if everything works fine.To do this,  Select Run and click on Start.If  you have followed the steps as outlined here, the “Start” would have replayed the recording exactly once. This would have resulted in one row being inserted into our table. A sample log screenshot is provided below:(This log could be different depending on your environment)


Label
# Samples
Average
Median
90% Line
Min
Max
Error %
Throughput
KB/sec
/_e/1/ethofy/_images/NewBannerPromotionSpot.gif
12
21040
21019
21195
20909
21223
1
0.042986871
0.061794
/psp/PSFT/?cmd=login&languageCd=ENG
1
611
611
611
611
611
0
1.636661211
114.1363
/cs/PSFT/cache/PT_TAB2LAX4A598C_1.gif
1
72
72
72
72
72
0
13.88888889
0.949436
….
..
..
..
..
TOTAL
70
3913
266
21009
6
21223
0.171429
0.250756748
2.196161

Increasing the Number of threads (users) under thread group properties to 5 would result in 5 rows getting inserted into our table. (the script is played five times).This is also evident from the PSADMIN client status lookup
PSADMIN client status during playback
And as expected, we got five more new rows inserted into our test table.

Setting the number of threads to 5 and loop count to 2 would result in 10 rows being inserted into the table.  All the while, we have  been inserting the same value “123” over and again into the table. In the upcoming post, let us figure a way out to parametrize this value.



PeopleSoft - Test Automation Using JMeter - Part 3

Part 1 and 2 of this post are available here and here.

As PeopleSoft uses cookies, it is required to add a “Cookie config Manager” under the thread group. To do so, right click the thread group and follow the instructions as shown in the figure below: (Accept the default values for the configuration for now)

Steps to Add HTTP Cookie Manager
Right click on the thread group again and this time add an “Aggregate Graph” from the listener menu under “Add”. This will be used for reporting purposes.At the end of this step under thread group, following elements should be available viz; HTTP Request Defaults, HTTP Cookie Manager and Aggregate Graph. These are the minimum ones that needs to be avaialble under the thread group to perform a test in JMeter.

Before the recording can be started, it is required to add a HTTP Proxy Server under “Worbench”. To do so,  right click on the workbench and navigate to the section as shown in the figure below

Steps to Add HTTP Proxy Server
Following properties needs to be set in the HTTP Proxy Server:

1) Port -> For this example, it is set to 8080. When this example is tried out, switch over to a port that is available in the test PC.

This port will be used for the script recording purposes. All the traffic will the routed through this proxy and the proxy will record any request that passes through this port.

2) Set the “Target Controller” to point to the “Thread Group” that  was created in the steps earlier.

Make sure that the web browser is pointed to this proxy before any attempt is done towards recording.

In the upcoming part, let us take up how to perform the recording, followed by parametrization.

PeopleSoft Test Automation Using JMeter - Part 2

We are trying to execute a simple automation test case in PeopleSoft by using JMeter. In doing this, we are at step 1 where we are trying to add a thread group. Refer to Part 1 if you are jumping on this post, straight from the internet.

To add a Thread Group, refer to the screenshot below

Creating a Thread Group in JMeter     


Click on “Thread Group” as shown above. Leave the “Thread  Group” properties to the default ones as shown below: (Note: The thread group is named as “PeopleSoft Load Testing”)

Thread Group Properties
 It is required to add a “HTTP Request Default” object under the “Thread Group”. To do so, right click on the Thread Group name and follow the instructions as shown below

Adding HTTP Request Defaut Object
 The “HTTP Request Default” allows to specify the following parameters for Load Testing:

1) Webserver details. (IP Address or Host Name)
2) Port Details
3) PeopleSoft Environment URL to be used

Specify the values in  the target PeopleSoft environment as per the screenshot below

Specifying PeopleSoft Environment Details

Part 3 of this post discusses on how to add Cookie section and initiate the recording process.

PeopleSoft Test Automation Using JMeter - Part 1

This series of blog posts describe how to automate a simple test scenario in PeopleSoft using Apache JMeter. The tutorial assumes that the following are already in place before attempting any further:

1) A simple test page in a PeopleSoft environment for our load testing. A screenshot of the page that will be used is provided below:.
PeopleSoft Test Page To Perform Automated Testing
2) JMeter - Download it from Apache website. The version that we will be using for this demonstration is 2.4 r961953.

3) I have also added some code behind the submit button to insert one row per invocation into a table. This will help us to understand how many times the page is action is getting invoked.

4) Access to the PSADMIN console - This is not mandatory but will help to monitor the queue in the application server to verify that our script is working.

This tutorial is broken into the following sections:

a) Setting up JMeter to Record PeopleSoft script.
b) Recording PeopleSoft Script
b) Parametrization of recorded script.
c) Testing of recorded script.

Setting up JMeter to Record PeopleSoft Script

When JMeter is opened, the user will be presented with the following screen
Initial JMeter Launch Screen
In this UI, JMeter needs to be configured to enable recording. 

To do this, the first step would be to Add a thread group.