Thursday 26 March 2015

Oracle application testing suite (OATS) and load balancer

Quite often with using OATS, you don't want to fight the load balancer too much.  Wait, am I starting too soon.

Generally if clients are using a load balancer they are big enough for load testing their ERP before upgrade or before install.  So...  this is where we are at.

My current assignment has me comparing the 812 installation with the 910 installation - this is not as easy as you may think.  There are a lot of variables that need to be considered - especially the read only nature of the existing production environment.

Anyway, back to the post title - load balancers can play hell with load testing, in that they decide where the ERP traffic should go and sometimes (if the URL) is not proxied - then the LB won't like it.  So lets solve this problem.

image

As you can see from the above, I have a special situation where I need to redirect both the authentication and the ERP URLS.  This is quite unique as we are using a SSO product that allows long usernames and passwords into JDE - nice.

But, the lesson is that we need to rip the ERPURL out of the header and then assign that to the already parameterised URL.

I set my variable "ERPThisWay" to the header information indicated by the string below.  I then display this in the script and finally set my parameterised URL to that value.

http.solve("ERPThisWay", "Location: (.+?)/jde/E1Menu\\.maf",
"", false, Source.ResponseHeader, 0, EncodeOptions.None);
info("{{ERPThisWay}}  This is where we have an auth token");
getVariables().set("szERPURL", "{{ERPThisWay}}",
Variables.Scope.GLOBAL);

so now, my load balancer is working it's chunk off and I'm not forcing a artificial LB using CSV files and databanks.

No comments: