Siebel Test Automation
By Alex on Sep 30, 2009
I have recently been working on some Siebel projects testing Siebel with both, functional and performance requirements and I have to say it's very interesting once you get into it.
Lets start with a look at functional testing, Siebel is a web based application based on that statement we can assume that we can use any web testing tool without having to modify anything..... Well with Siebel that is not the case, Yes it runs on Internet Explorer and Yes its a web based application, however as well as having the regular HTML objects known as Standard Interactivity (SI) objects, Siebel uses specialized High Interactivity (HI) components that run in the web browsers client machine.
Oververview of Functional Testing.
Siebel web pages are generated dynamically by the Siebel Web Engine (SWE) on the Siebel Server
Each page generated consists of a variety of components such as applets, views and controls. Web application testing tools will interact with HTML objects such as links, forms etc ...but will have challenges interacting with binary objects such as applets. To overcome this issue Siebel provides a test framework (Siebel Test Automation Framework) which is a small program that once enabled will allow your test tool to interface with the HI components.
To enable Test Automation Framework in Siebel 7.8 you will need to:
1. Open the .CFG file for the Siebel application on the Siebel server.
2. Set the EnableAutomation and AllowAnonUsers switches in the [SWE] section as follows:
EnableAutomation = TRUE
AllowAnonUsers = TRUE
3. Reboot the Siebel server.
To enable Test Automation Framework in Siebel 8.0
Log into Siebel as an administrator: Site Map → Administrator - Server Configuration -> Servers -> (Pick Server) -> Select (Object Manger) -> Parameters -> Change EnableAutomation & AllowAnonUsers to True.
You will also need to enter a license code for the changes to take effect:
Log into Siebel as an administrator Site Map → Administration - Application → License Keys → New → Enter (License, OK, 99999, Never) → Save
You can find the license codes at http://licensecodes.oracle.com/siebel.html
Restart you server for the changes to take effect.
Once that is done we can start recording scripts, to do so we will need to tell Siebel that we like to use the test Automation Framework during a particular session, we do that by adding SWECmd=AutoOn in the URL as a parameter:
If its the first time that you are running it when login into Siebel IE will ask for a plug-in to be installed, once you have successfully logged in, check your task manager to make sure that the Siebel Automatation Framework is running, you should see a process called SiebelAx_Test_Automcation_xxxx.exe running:
That process will enable as to talk to Siebel HI objects.
Interacting with HI Siebel components in OpenScript.
Once we the Siebel Test Automation framework is running OpenScript will be able to interact with the High Interactivity Siebel components:
The above image shows OpenScript interacting with a Siebel HI component.
Overview Of Performance Testing
Unlike functional testing performance testing works on a protocol level, in the case of Siebel that's done by simulating the HTTP requests that the Siebel UI generates.
Correlation in Siebel.
Correlating standard HTML pages is not a difficult task, all you usually need to do is look for a value inside an HTML tag and match it to a regular expression, which tends to be an easy task, in the case of Siebel however, it does not send all of its information in an HTML format, instead it does so in a very difficult format to read by humans and to correlate using regular expressions, see the text below for an example.
Since correlating this information would be a difficult task, not to say pretty much impossible Siebel provides a correlation library (ssdtcorr.dll) which can be used as an interface to correlate your load test scripts.
The image above shows some variables being correlated in OpenScript using the correlation library
The correlation library will also highlight functional errors such as badly formatted data or duplicate values.
Intelligent test tools such as OpenScript will utilize this library to generate and validate Siebel scripts reducing both the complexity of creating scripts as well as space for human error.
The image above shows both accelerators (load and Functional) in OpenScript.
Siebel can be a tricky application to test since it imposes very strong functional and technical rules, however with the aid of the Test Automation Framework and the Siebel correlation library intelligent test Automation tools can communicate with Siebel to provide a better test automation interface, helping you concentrate more in the functionality of your scripts instead of spending time in the technical aspects.