Go to Developer Perspective in Open Script.
Go to Window > Show View >Package Explorer
under "default package". You will find the Open Script test script name as "script.java"
Right Click and Create a New Class with a name "sayHello"
The Content in the class file should look like this
class sayHello {
public void sayHi(Object str)
{
System.out.println("Saying Hi to : "+str);
}
}
Now go to the open script file and enter the following code in the run() method
public void run() throws Exception {
// Creating and Using external Java Class
sayHello s=new sayHello();
// Access the say Hi Method in it
s.sayHi("Ajith");
}
Output:
Saying Hi to : Ajith
Oracle Application Testing Suite acquired from emprix by Oracle marks its name into Testing Tools arena. It provides TQM for various B2B applications that oracle ships to its customers and supports Functional and Load testing capability.
Friday, April 22, 2011
Open Script : Display Open Script Settings at Runtime
public void run() throws Exception {
// Displays the Details in the the result file under Comments Section
info(getSettings().toString());
// Prints to the console
System.out.println(getSettings().toString());
System.out.println(getSettings().getProperties().size());
}
_________________________________________________________________________
// To Display the Same Using Custom java Code :
import java.util.Enumeration;
import java.util.Hashtable;
import oracle.oats.scripting.modules.basic.api.*;
import oracle.oats.scripting.modules.browser.api.*;
import oracle.oats.scripting.modules.functionalTest.api.*;
import oracle.oats.scripting.modules.utilities.api.*;
import oracle.oats.scripting.modules.utilities.api.sql.*;
import oracle.oats.scripting.modules.utilities.api.xml.*;
import oracle.oats.scripting.modules.utilities.api.file.*;
import oracle.oats.scripting.modules.webdom.api.*;
import oracle.oats.scripting.modules.formsFT.api.*;
import oracle.oats.utilities.CaseInsensitiveProperties;
public class script extends IteratingVUserScript {
@ScriptService oracle.oats.scripting.modules.utilities.api.UtilitiesService utilities;
@ScriptService oracle.oats.scripting.modules.browser.api.BrowserService browser;
@ScriptService oracle.oats.scripting.modules.functionalTest.api.FunctionalTestService ft;
@ScriptService oracle.oats.scripting.modules.webdom.api.WebDomService web;
@ScriptService oracle.oats.scripting.modules.formsFT.api.FormsService forms;
public void initialize() throws Exception {
}
/**
* Add code to be executed each iteration for this virtual user.
*/
public void run() throws Exception {
/*
* Step 1 : get the Settings object
* 2: get the keys
* 3: get the value of key
*/
//Step 1 : Get the Settings Object
CaseInsensitiveProperties cip=getSettings().getProperties();
// CaseInsensitiveProperties is a subclass of Properties Class
// HashTable > Properties > CaseInsensitiveProperties
// 2 - Get the keys
// Returns Enumeration Object
Enumeration enum_keys=cip.keys();
//
// Displays the type of Enumeration - java.util.HashTable$Enumerator@1202a06
// Enumeration is of type Hashtable
System.out.println("Object Type is : "+enum_keys.toString());
//Iteration through the Enumeration Set
// Use the hasMoreElements method to verify the last element
// User nextElement - to retrieve the Object
Object v_key;
Object v_val;
while(enum_keys.hasMoreElements())
{
v_key=enum_keys.nextElement();
// cip.get(Object key) - operates on a Hashtable and Returns an Object
v_val=cip.get(v_key);
System.out.println("Key : "+v_key.toString()+"\tValue : "+v_val);
}
// Displays 230 - Values on my system.
System.out.println("Size is : "+cip.size());
}
public void finish() throws Exception {
}
}
Sample Output:
Object Type is : java.util.Hashtable$Enumerator@135b92e
Key : file.encoding.pkg Value : sun.io
Key : http.usedeflate Value : false
Key : org.osgi.framework.executionenvironment Value : OSGi/Minimum-1.0,OSGi/Minimum-1.1,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6
Key : ft.smartmatch Value : true
Key : osgi.framework Value : file:/D:/OracleATS9.2/openScript/plugins/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
Key : vmargs Value :
Key : http.usegzip Value : true
...( Total 230 Key Value Pairs were displayed on my system )
...
...
...
...
...
Key : java.specification.version Value : 1.6
Key : err.http.node_not_found_exception Value : Warn
Key : encryption_properties_file Value : C:\Documents and Settings\amoni.APPLICATIONS\osworkspace\.metadata\.plugins\oracle.oats.scripting.utilities\encryption.properties
Key : sun.arch.data.model Value : 32
Size is : 230
Size is : true
// Displays the Details in the the result file under Comments Section
info(getSettings().toString());
// Prints to the console
System.out.println(getSettings().toString());
System.out.println(getSettings().getProperties().size());
}
_________________________________________________________________________
// To Display the Same Using Custom java Code :
import java.util.Enumeration;
import java.util.Hashtable;
import oracle.oats.scripting.modules.basic.api.*;
import oracle.oats.scripting.modules.browser.api.*;
import oracle.oats.scripting.modules.functionalTest.api.*;
import oracle.oats.scripting.modules.utilities.api.*;
import oracle.oats.scripting.modules.utilities.api.sql.*;
import oracle.oats.scripting.modules.utilities.api.xml.*;
import oracle.oats.scripting.modules.utilities.api.file.*;
import oracle.oats.scripting.modules.webdom.api.*;
import oracle.oats.scripting.modules.formsFT.api.*;
import oracle.oats.utilities.CaseInsensitiveProperties;
public class script extends IteratingVUserScript {
@ScriptService oracle.oats.scripting.modules.utilities.api.UtilitiesService utilities;
@ScriptService oracle.oats.scripting.modules.browser.api.BrowserService browser;
@ScriptService oracle.oats.scripting.modules.functionalTest.api.FunctionalTestService ft;
@ScriptService oracle.oats.scripting.modules.webdom.api.WebDomService web;
@ScriptService oracle.oats.scripting.modules.formsFT.api.FormsService forms;
public void initialize() throws Exception {
}
/**
* Add code to be executed each iteration for this virtual user.
*/
public void run() throws Exception {
/*
* Step 1 : get the Settings object
* 2: get the keys
* 3: get the value of key
*/
//Step 1 : Get the Settings Object
CaseInsensitiveProperties cip=getSettings().getProperties();
// CaseInsensitiveProperties is a subclass of Properties Class
// HashTable > Properties > CaseInsensitiveProperties
// 2 - Get the keys
// Returns Enumeration Object
Enumeration enum_keys=cip.keys();
//
// Displays the type of Enumeration - java.util.HashTable$Enumerator@1202a06
// Enumeration is of type Hashtable
System.out.println("Object Type is : "+enum_keys.toString());
//Iteration through the Enumeration Set
// Use the hasMoreElements method to verify the last element
// User nextElement - to retrieve the Object
Object v_key;
Object v_val;
while(enum_keys.hasMoreElements())
{
v_key=enum_keys.nextElement();
// cip.get(Object key) - operates on a Hashtable and Returns an Object
v_val=cip.get(v_key);
System.out.println("Key : "+v_key.toString()+"\tValue : "+v_val);
}
// Displays 230 - Values on my system.
System.out.println("Size is : "+cip.size());
}
public void finish() throws Exception {
}
}
Sample Output:
Object Type is : java.util.Hashtable$Enumerator@135b92e
Key : file.encoding.pkg Value : sun.io
Key : http.usedeflate Value : false
Key : org.osgi.framework.executionenvironment Value : OSGi/Minimum-1.0,OSGi/Minimum-1.1,JRE-1.1,J2SE-1.2,J2SE-1.3,J2SE-1.4,J2SE-1.5,JavaSE-1.6
Key : ft.smartmatch Value : true
Key : osgi.framework Value : file:/D:/OracleATS9.2/openScript/plugins/org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
Key : vmargs Value :
Key : http.usegzip Value : true
...( Total 230 Key Value Pairs were displayed on my system )
...
...
...
...
...
Key : java.specification.version Value : 1.6
Key : err.http.node_not_found_exception Value : Warn
Key : encryption_properties_file Value : C:\Documents and Settings\amoni.APPLICATIONS\osworkspace\.metadata\.plugins\oracle.oats.scripting.utilities\encryption.properties
Key : sun.arch.data.model Value : 32
Size is : 230
Size is : true
Open Script : Set Session Name & Print the Current Session Name
import oracle.oats.scripting.modules.basic.api.*;
import oracle.oats.scripting.modules.basic.api.exceptions.AbstractScriptException;
import oracle.oats.scripting.modules.browser.api.*;
import oracle.oats.scripting.modules.functionalTest.api.*;
import oracle.oats.scripting.modules.utilities.api.*;
import oracle.oats.scripting.modules.utilities.api.sql.*;
import oracle.oats.scripting.modules.utilities.api.xml.*;
import oracle.oats.scripting.modules.utilities.api.file.*;
import oracle.oats.scripting.modules.webdom.api.*;
import oracle.oats.scripting.modules.formsFT.api.*;
public class script extends IteratingVUserScript {
@ScriptService oracle.oats.scripting.modules.utilities.api.UtilitiesService utilities;
@ScriptService oracle.oats.scripting.modules.browser.api.BrowserService browser;
@ScriptService oracle.oats.scripting.modules.functionalTest.api.FunctionalTestService ft;
@ScriptService oracle.oats.scripting.modules.webdom.api.WebDomService web;
@ScriptService oracle.oats.scripting.modules.formsFT.api.FormsService forms;
public void initialize() throws Exception {
browser.launch();
}
/**
* Add code to be executed each iteration for this virtual user.
*/
public void run() throws Exception {
// Use getSession instance to set the Name of the Session
// Set the Name of the session to "Test1"
getSession().setName("Test1");
// Print the Current Session Name
sop(getSession().getName());
}
public void sop(Object str)
{
System.out.println(str);
}
public void finish() throws Exception {
}
}
______________________________________________________________
Output :
Test1
import oracle.oats.scripting.modules.basic.api.exceptions.AbstractScriptException;
import oracle.oats.scripting.modules.browser.api.*;
import oracle.oats.scripting.modules.functionalTest.api.*;
import oracle.oats.scripting.modules.utilities.api.*;
import oracle.oats.scripting.modules.utilities.api.sql.*;
import oracle.oats.scripting.modules.utilities.api.xml.*;
import oracle.oats.scripting.modules.utilities.api.file.*;
import oracle.oats.scripting.modules.webdom.api.*;
import oracle.oats.scripting.modules.formsFT.api.*;
public class script extends IteratingVUserScript {
@ScriptService oracle.oats.scripting.modules.utilities.api.UtilitiesService utilities;
@ScriptService oracle.oats.scripting.modules.browser.api.BrowserService browser;
@ScriptService oracle.oats.scripting.modules.functionalTest.api.FunctionalTestService ft;
@ScriptService oracle.oats.scripting.modules.webdom.api.WebDomService web;
@ScriptService oracle.oats.scripting.modules.formsFT.api.FormsService forms;
public void initialize() throws Exception {
browser.launch();
}
/**
* Add code to be executed each iteration for this virtual user.
*/
public void run() throws Exception {
// Use getSession instance to set the Name of the Session
// Set the Name of the session to "Test1"
getSession().setName("Test1");
// Print the Current Session Name
sop(getSession().getName());
}
public void sop(Object str)
{
System.out.println(str);
}
public void finish() throws Exception {
}
}
______________________________________________________________
Output :
Test1
Open Script:TIP:waitForPage(null) depends on Object Timeout Value in Open Script Preferences
waitForPage(null) depends on Object Timeout Value in Open Script Preferences
Open Script Exercise : Navigate to a site and wait for the page to load completely
import oracle.oats.scripting.modules.basic.api.*;
import oracle.oats.scripting.modules.basic.api.exceptions.AbstractScriptException;
import oracle.oats.scripting.modules.browser.api.*;
import oracle.oats.scripting.modules.functionalTest.api.*;
import oracle.oats.scripting.modules.utilities.api.*;
import oracle.oats.scripting.modules.utilities.api.sql.*;
import oracle.oats.scripting.modules.utilities.api.xml.*;
import oracle.oats.scripting.modules.utilities.api.file.*;
import oracle.oats.scripting.modules.webdom.api.*;
import oracle.oats.scripting.modules.formsFT.api.*;
public class script extends IteratingVUserScript {
@ScriptService oracle.oats.scripting.modules.utilities.api.UtilitiesService utilities;
@ScriptService oracle.oats.scripting.modules.browser.api.BrowserService browser;
@ScriptService oracle.oats.scripting.modules.functionalTest.api.FunctionalTestService ft;
@ScriptService oracle.oats.scripting.modules.webdom.api.WebDomService web;
@ScriptService oracle.oats.scripting.modules.formsFT.api.FormsService forms;
public void initialize() throws Exception {
browser.launch();
}
/**
* Add code to be executed each iteration for this virtual user.
*/
public void run() throws Exception {
// Navigate to Three Sites and Wait for the Sites to Completely load the page
this.naviagate_site("http://www.yahoo.com");
this.naviagate_site("http://www.google.com");
this.naviagate_site("http://www.gmail.com");
}
public void naviagate_site(String site_name) throws Exception
{
web.window("/web:window[@index='0']").navigate(site_name);
// wait for object /web:window[@index='0' or @title='Yahoo! India']/web:document[@index='0']/web:a
// The Value waitForPage(null) - null uses the default time out from Open Script Preferences
// Got to View > Open Script Preferences
// In the Treeview Navigate to "Open Script > Playback > Web Functional"
// Set timeout to : 20 secs under Object Timeout
web.window("/web:window[@index='0']").waitForPage(null);
}
public void finish() throws Exception {
}
}
import oracle.oats.scripting.modules.basic.api.exceptions.AbstractScriptException;
import oracle.oats.scripting.modules.browser.api.*;
import oracle.oats.scripting.modules.functionalTest.api.*;
import oracle.oats.scripting.modules.utilities.api.*;
import oracle.oats.scripting.modules.utilities.api.sql.*;
import oracle.oats.scripting.modules.utilities.api.xml.*;
import oracle.oats.scripting.modules.utilities.api.file.*;
import oracle.oats.scripting.modules.webdom.api.*;
import oracle.oats.scripting.modules.formsFT.api.*;
public class script extends IteratingVUserScript {
@ScriptService oracle.oats.scripting.modules.utilities.api.UtilitiesService utilities;
@ScriptService oracle.oats.scripting.modules.browser.api.BrowserService browser;
@ScriptService oracle.oats.scripting.modules.functionalTest.api.FunctionalTestService ft;
@ScriptService oracle.oats.scripting.modules.webdom.api.WebDomService web;
@ScriptService oracle.oats.scripting.modules.formsFT.api.FormsService forms;
public void initialize() throws Exception {
browser.launch();
}
/**
* Add code to be executed each iteration for this virtual user.
*/
public void run() throws Exception {
// Navigate to Three Sites and Wait for the Sites to Completely load the page
this.naviagate_site("http://www.yahoo.com");
this.naviagate_site("http://www.google.com");
this.naviagate_site("http://www.gmail.com");
}
public void naviagate_site(String site_name) throws Exception
{
web.window("/web:window[@index='0']").navigate(site_name);
// wait for object /web:window[@index='0' or @title='Yahoo! India']/web:document[@index='0']/web:a
// The Value waitForPage(null) - null uses the default time out from Open Script Preferences
// Got to View > Open Script Preferences
// In the Treeview Navigate to "Open Script > Playback > Web Functional"
// Set timeout to : 20 secs under Object Timeout
web.window("/web:window[@index='0']").waitForPage(null);
}
public void finish() throws Exception {
}
}
Open Script : Paused by Exception, Time out occurred
' Load a page
web.window["/web:window[@index='0'"].navigate("http://yahoo.com");
'Wait for the page to complete loading
web.window["/web:window[@index='0'"].waitForPage(null);
______________________________________________________________________________
'Note :If a Pause by Exception Occurs
with the Reason :
"Timeout(5 seconds occurred waiting for page to load"
Go To View > Open Script Preferences.
In the Tree Navigate to Open Script > Playback > Web Functional
Object Timeout : 5
'Change this value to 10 or time to wait for object to time out
web.window["/web:window[@index='0'"].navigate("http://yahoo.com");
'Wait for the page to complete loading
web.window["/web:window[@index='0'"].waitForPage(null);
______________________________________________________________________________
'Note :If a Pause by Exception Occurs
with the Reason :
"Timeout(5 seconds occurred waiting for page to load"
Go To View > Open Script Preferences.
In the Tree Navigate to Open Script > Playback > Web Functional
Object Timeout : 5
'Change this value to 10 or time to wait for object to time out
Open Script : Wait for page to load
' Load a page
web.window["/web:window[@index='0'"].navigate("http://yahoo.com");
'Wait for the page to complete loading
web.window["/web:window[@index='0'"].waitForPage(null);
'Note :If a Pause by Exception Occurs
with the Reason :
"Timeout(5 seconds occurred waiting for page to load"
Go To View > Open Script Preferences.
In the Tree Navigate to Open Script > Playback > Web Functional
Object Timeout : 5
'Change this value to 10 or time to wait for object to time out
web.window["/web:window[@index='0'"].navigate("http://yahoo.com");
'Wait for the page to complete loading
web.window["/web:window[@index='0'"].waitForPage(null);
'Note :If a Pause by Exception Occurs
with the Reason :
"Timeout(5 seconds occurred waiting for page to load"
Go To View > Open Script Preferences.
In the Tree Navigate to Open Script > Playback > Web Functional
Object Timeout : 5
'Change this value to 10 or time to wait for object to time out
Open Script :Tip of the day : wait for 5 seconds
' Navigate to a page
web.window("/web:window[@index='0']").navigate("http://www.google.com");
' Wait for 5 seconds - 5000 milliseconds
delay(5000);
web.window("/web:window[@index='0']").navigate("http://www.google.com");
' Wait for 5 seconds - 5000 milliseconds
delay(5000);
Wednesday, March 2, 2011
Open Script : Tip of the day: Step Group
Open Script has a step grouping mechanism which groups the recorded script by its corresponding Window Name(title of the page).
This feature of grouping code as steps groups in controlled in the Open Script Preferences Window
Example : For Web Functional Test
Got to View > Open Script Preferences
Step Groups >Web Functional >Step Naming
This feature of grouping code as steps groups in controlled in the Open Script Preferences Window
Example : For Web Functional Test
Got to View > Open Script Preferences
Step Groups >Web Functional >Step Naming
- Web Functional
- Do Not Name Steps
Monday, January 24, 2011
Open Script
ATS 9.2 Open Script has been released and can be downloaded from www.oracle.com
Open Script consists of GUI and Code View of handling the recorded code.
It is part of the OATS suite that stands as a tool to allows testers to record and playback scripts.
Open Script is divided into various modules that allows users to perform
The major feature support for 9.2 has been the support for Adobe Flex
Futher Reads:
Oracle Application Testing Suite
Open Script consists of GUI and Code View of handling the recorded code.
It is part of the OATS suite that stands as a tool to allows testers to record and playback scripts.
Open Script is divided into various modules that allows users to perform
- Forms based Testing (Oracle Applciations )
- Web based Testing
- and
- Load Testing
The major feature support for 9.2 has been the support for Adobe Flex
Futher Reads:
Oracle Application Testing Suite
Subscribe to:
Posts (Atom)