Automate client-set cookies creation in PeopleSoft tests


The client-server communication scheme of Oracle's PeopleSoft applications is well-structured with most session-specific values becoming apparent after a quick research. That is why such applications are easy to test with WAPT tools. The only problem is the client-set cookie value required for the correct work of some versions of the PeopleSoft servers. That cookie is called PS_DEVICEFEATURES and its purpose is to deliver information about the client device capabilities (width, height, pixel density, geolocation, canvas, etc.). That is why it is set by the client code and is never actually received from the server. For that reason it is not included in the emulated sessions by default, which causes the problem.

The Module for PeopleSoft testing detects the use of that cookie and parameterizes its value automatically by creating an additional header in all requests where that value is expected. This is done automatically on recording of a profile. As a result, the created profile does not require additional parameterization efforts to support that PeopleSoft feature.

Download

  Please note that the Module for PeopleSoft testing is not a stand-alone software. It requires WAPT workplace component installed.  

PeopleSoft automated testing in action

The PS_DEVICEFEATURES cookie appearing in the recorded requests indicates that we are working with a PeopleSoft application that may expect that cookie to appear without setting it by the server:

Send message to WebSocket connection

The module creates a special variable PeopleSoft1 (they may be named PeopleSoft2, PeopleSoft3, etc. in case of multiple occurrences). The variable is assigned with the recorded cookie value in the "Initial variables" dialog in the profile properties:

Sent message in the log

The module adds that cookie in all subsequent requests where it was originally recorded:

Sent message in the log

In case you would like to change the value to emulate a different device, you can do this in the "Initial variables" dialog. All cookie headers will continue using the variable assigned there.