Bypassing a Load Balancer

Load balancers are fantastic devices but sometimes we need to get around them.  I can’t count the times I have needed or wanted to test/diagnosis the functionality of each PIA instance individually, especially when fighting what might appear at first as an intermittent or random issue.  When we have multiple PeopleSoft PIA instances behind a load balancer or reverse proxy we set the virtual addressing URL in the web profile to be that of the URL to the load balancing device.  If we try to hit SERVER-A or SERVER-B directly the URL is rewritten back to SERVER-LB.   The following are some tips that may help you establish a connection to a specific PIA instance rather than the load balancer. Continue reading

PeopleSoft Test Framework: Process.Run

The Basics:

Process.Run is a great feature of the PeopleSoft Test Framework.  Using this option wraps the running of a process up into just a few easy steps making the test script a lot easier to maintain.  In this post I use a Object Type dot Action notation which corresponds to how a step would be entered in PTF.  Before the period is the Type field, after is the Action field.  I’ve previously written a post on PTF installation and how to record a simple script, if you need to start from the very beginning.

PTF notation
Pseudo code to run a job looks like this: Continue reading

PeopleSoft Test Framework

The PeopleSoft Test Framework (PTF) is a testing tool that was released with PeopleTools 8.51 and has seen improvements and active development from Oracle in 8.52 and 8.53.  PTF is a record and playback tool that is somewhat similar to other testing automation tools.  It distinguishes itself from other tools for a few reasons:

  1. It’s provided as part of PeopleTools 8.51+ so there is no additional cost
  2. Tests, related settings, and objects are stored as managed objects in your PeopleSoft database and can be migrated to other environments with App Designer.
  3. It can be combined with Usage Monitor data to validate test coverage.
  4. It’s written by Oracle so they are able to leverage PeopleSoft functionality directly by providing specialized commands.

PTF does have it’s limitations though so you should check the release notes (under the Lifecycle Management Tools section) and PeopleBooks documentation for your PeopleTools release.  It’s designed to automate functional testing, it unfortunately does not provide any type of performance/load testing capabilities.

PTF Setup

I’ve setup PTF on both 8.51 and 8.52.  I have not had a chance to install the 8.53 version but I think the differences will be limited.  There were some nice improvements going from 8.51 to 8.52.  I’m going to rehash my notes here, the standard documentation was pretty good in describing the installation process.  First off there are some prereqs for PTF:

  1. Your PIA domain needs SSL to be functioning.
  2. IB needs to be working
  3. You need to assign some PTF roles
    1. The ANONYMOUS Node Default User Id must have PTF User Role
    2. Users running the PTF client must have PTF User, Editor, or Administrator
  4. The web profile needs to be configured properly
    1. Generate HTML for testing must be enabled
    2. Show Connection & Sys Info must be enabled
    3. Both of those are on the Debugging tab and should be on by default if your using some variation of the delivered “DEV” profile.

Here is a link to the 8.52 PeopleBooks install page which has a diagram of a PTF environment.  Once your PeopleSoft environment is setup and you’ve confirmed the above items you should review the Configuration Options page at PeopleTools –> Lifecycle Tools –> Test Framework-> Define Configuration Options.  This page differs quite a bit on 8.52 from 8.51.  In 8.51 it has a single option: Allow Untrusted SSL.  Depending on your tools release choose your options accordingly. In many cases you may be relying on a self signed certificate that was delivered with your web server.  You will get an SSL error when you try to connect if you need this setting.  If that is the case, ensure that Allow Untrusted SSL is enabled here.

PTF Config Options 8.51PTF Config Options 8.52PTF Config Options 8.53

After the PeopleSoft configuration is done it’s time to install the client or record/playback tool.  I installed this on a Windows 7 VM.  A few things to note about the client.

  1. It’s a Microsoft based client and requires .Net 3.5; sorry no Linux
  2. It requires Internet Explorer, it will not work with other browsers
  3. If you are installing on Vista or Windows 7 the client should be run with the run as administrator option in order to hook the browser and record properly.  Without doing this I had problems.
  4. The Internet Options for the Windows client should include both http and https entries for your domain in the Local Intranet security zone.  Most companies have this in place already, but could be a problem if they are not there and changes are restricted by AD.

To install the PTF client, run the Setup.exe file from your File Server or your local PeopleTools install.  The setup file is <PS_HOME>\setup\PsTestFramework\setup.exe

Next, run the PeopleSoft Test Framework client (as administrator) and add a new connection to your PTF enabled environment. Populate the required fields as setup connection FINDEV needed.  The server:port number combo is you webserver address and the SSL/HTTPS port.  If your running on the default 443 port the port number is optional.  The user specified here must have one of the PTF roles mentioned previously.  Once connected you can edit some local settings by selecting the @environment on the top left of the menu bar. Local Options  I have left these default except in 8.51.  In the 8.51 version this is where you configure your Process Server List for the Execution Options section.  If you looked at the screen shots above of the Online Configurations options earlier you’ll see they moved this from a Local Option in 8.51 to a Database based option in 8.52.  After reviewing the Local Options, open the Execution Options.  These options are also stored in the database and can be managed online by a user with the PTF Administrator role.  These options are used to configure settings for the application your testing.  You’ll need to create at least one set of Execute Options ( you can create multiple settings for different tests or configurations you would like to run).  The URL defined here should be the URL with the logout command, for example: http://psweb1.remotepsadmins.com/psp/ps/?cmd=logout. The documentation explains everything else pretty good so refer to it.

You should now be ready to record a test!

Your First Test

Once you have PTF ready to go there are some older 8.51 YouTube videos currently available at http://www.youtube.com/user/PeopleSoftTechnology.  These videos provide a simple overview of how to get started using PTF and provide good introduction material.  They should get you started on recording your first test.

Essentially the process is as follows in 8.52 (it’s pretty much the same in 8.51 but the Test Recorder window has less options and looks a bit different):

  1. Select menu option Create and chose to create a Test.
  2. Click the red stop sign button which is the Show Test Recorder button, the Test Recorder window will open
  3. Press the house button which will open and hook a new browser, it should also take you to your PeopleSoft login page if your Execution Options are configured properly.  Note:  The PTF window may stay on top of the IE window, just look to see if IE opened and bring it on top of the other windows.
  4. Click the Red Circle in the Test Recorder window to start recording.
  5. Use IE to login, pull up some page, and logout.
  6. Click the Black Square in the Test Recorder window to stop recording
  7. Close the Test Recorder window
  8. Your test steps are displayed and once you give the test a name it can be saved. Menu option Test , Save As
  9. Once the test is saved, the playback button will turn green and you can now run your test by pressing it.

That should do it.  You should be up, running, and recording now.  I’m hoping to do another post on this topic with some more interesting test scripts soon.  And possibly show how PeopleSoft Admins can leverage this for things other than functional testing.