com.appperfect.loadtester.script
Interface ILoadTest

All Superinterfaces:
IScriptTest

public interface ILoadTest
extends IScriptTest

A Load Test is created to represent Load Test project in AppPerfect Load Test.

A ILoadTest object is created using ILoadTest createLoadTest(); API of IScriptEngine


Field Summary
static int EVERY_ITERATION
  
static int EVERY_TASK
  
static int FETCH_NEW_IP
 possible value for fetch criteria for picking IP addresses by VUs
static int FETCH_NEW_NB
 possible value for fetch criteria for picking Network bandwidth by VUs
static int FETCH_SAME_IP
  
static int FETCH_SAME_NB
  
static int HITS_PER_USER
 specifies if the strategy is number of hits per User
static int MONITOR_AIX
 possible value for Operating system of remote machine for which system monitoring should be done
static int MONITOR_LINUX
 possible value for Operating system of remote machine for which system monitoring should be done
static int MONITOR_MACOSX
 possible value for Operating system of remote machine for which system monitoring should be done
static int MONITOR_SOLARIS
 possible value for Operating system of remote machine for which system monitoring should be done
static int MONITOR_WINDOWS
 possible value for Operating system of remote machine for which system monitoring should be done
static int NETWORK_BANDWIDTH_1024Kbps
 specifies to use 1024 kbps network bandwidth
static int NETWORK_BANDWIDTH_2048Kbps
 specifies to use 2048 kbps network bandwidth
static int NETWORK_BANDWIDTH_256Kbps
 specifies to use 256 kbps network bandwidth
static int NETWORK_BANDWIDTH_512Kbps
 specifies to use 512 kbps network bandwidth
static int NETWORK_BANDWIDTH_56Kbps
 specifies to use 56 kpbs network bandwidth
static int NETWORK_BANDWIDTH_CUSTOM
 specifies to use custom network bandwidth as configured by user
static int NETWORK_BANDWIDTH_MAXIMUM
 specifies to use maximum network bandwidth
static int SEQUENTIAL_GROUP_SELECTION
 possible value for running groups, in case of sequential group execution
static int SIMULATE_BROWSER_CHROME
 specifies to simulate Google-Chromw browser
static int SIMULATE_BROWSER_CUSTOM
 specifies to simulate Custom browser
static int SIMULATE_BROWSER_FIREFOX
 specifies to simulate Mozilla/Firefox browser
static int SIMULATE_BROWSER_IE
 specifies to simulate IE browser
static int SIMULATE_BROWSER_IPHONE
 specifies to simulate iPhone
static int SIMULATE_BROWSER_OPERA
 specifies to simulate Opera browser
static int SIMULATE_BROWSER_SAFARI
 specifies to simulate Safari browser
static int SIMULTANEOUS_GROUP_SELECTION
 possible value for running groups, in case of simultaneous group execution
static int START_ACTION_END_REPEAT
 possible value for run behavior of test, to run Start, Action and End group in that order and repeat this sequence
static int START_ACTION_REPEAT_END
 possible value for run behavior of test, to run Start, Action (Repeat) and End group in that order and repeat just the action groups, so start and ending groups will be executed only once by a single user
static int TEST_EXECUTION
  
static byte THROUGHPUT_IN_BYTES
  
static byte THROUGHPUT_IN_KB
  
static byte THROUGHPUT_IN_MB
  
static int TOTAL_HITS
 specifies if the strategy is number of total hits
 
Fields inherited from interface com.appperfect.devcommon.script.IScriptTest
BLACKBERRY_MODEL_9000, BLACKBERRY_MODEL_9700, DEVICE_ORIENTATION_HORIZONTAL, DEVICE_ORIENTATION_VERTICAL, ERROR_HANDLING_PROMPT_USER, ERROR_HANDLING_STOP_REPLAY, ERROR_MARK_FAILURE_CONTINUE_NEXT_GROUP, ERROR_MARK_FAILURE_CONTINUE_NEXT_TASK, ERROR_MARK_SUCCESS_CONTINUE_NEXT_GROUP, ERROR_MARK_SUCCESS_CONTINUE_NEXT_TASK, FETCH_VALUES_EVERYTIME, FETCH_VALUES_NOW, FETCH_VALUES_RUNTIME_BEFORE_TASK_OR_EVENT_EXECUTION, FETCH_VALUES_RUNTIME_BEFORE_TEST_EXECUTION, PASSTHROUGH_RANDOM_VALUE_INDEX, TEST_DEVICE_ANDROID, TEST_DEVICE_BLACKBERRY, TEST_DEVICE_BROWSER, TEST_DEVICE_IPHONE
 
Method Summary
 IGroup addActionGroup(int protocol, java.lang.String groupName)
 To add the Action group for the test.
 IHttpGroup addEndingGroup()
 To add Ending group for the test.
 void addIPAddress(java.lang.String ipAddress, int vuCount, boolean ignore)
 To add IP address for N virtual users, to be used for Load Balancing
 void addLinkProjectGroup(java.lang.String projectName, java.lang.String groupName, boolean bIgnore, int repeatCount, float virtualUserPercent)
 To add linked group settings
 void addRemoteMachine(java.lang.String protocol, java.lang.String hostName, int servicePort, java.lang.String path, int virtualUserCount, boolean ignore)
 This method is used to add remote machine settings where the AppPerfect service is running so that project can be run on remote machines simultaneously
 IHttpGroup addStartingGroup()
 To add starting group for the test.
 void collectTopTasks(int taskCount)
 Whether to collect details for top N tasks based on response time
 void configureBrowserSimulation(int browserType, boolean enabled, float percentage, int persistentConnections, java.lang.String userAgent)
 configure browser simulation settings for browser types
 void monitorAIXMachine(java.lang.String hostName, java.lang.String username, java.lang.String password, int protocol, int port, boolean useService, java.lang.String serviceURI)
 To set target machine settings to monitor system resources
 void monitorLinuxMachine(java.lang.String hostName, java.lang.String username, java.lang.String password, int protocol, int port, boolean useService, java.lang.String serviceURI)
 To set target machine settings to monitor system resources
 void monitorMACOSXMachine(java.lang.String hostName, java.lang.String username, java.lang.String password, int protocol, int port, boolean useService, java.lang.String serviceURI)
 To set target machine settings to monitor system resources
 void monitorSolarisMachine(java.lang.String hostName, java.lang.String username, java.lang.String password, int protocol, int port, boolean useService, java.lang.String serviceURI)
 To set target machine settings to monitor system resources
 void monitorWindowsMachine(java.lang.String hostName, java.lang.String username, java.lang.String password, java.lang.String domain, boolean useService, java.lang.String serviceURI)
 To set target machine settings to monitor system resources
 void setBurstStrategy(int users)
 Select Burst strategy when the application is to be tested for sudden loads.
 void setClearCacheAfterEachIteration(boolean clear)
 This method is used to decide whether the cache should be cleared after each iteration
 void setCloseConnectionAfterEachIteration(boolean closeConnection)
 This method is used to decide whether the connections should be closed after each iteration
 void setCloseDBConnectionAfter(int action)
 Set when DB connection should be closed, after every task, after every iteration or after project execution
 void setCompleteActionGroupAfterTestStop(boolean completeActionGroup)
 This method is used to decide whether the currently running group should be completed before stopping test.
 void setConnectionPoolSettings(boolean useConnectionPool, int connectionTimeout, int maxConnectionUsage, int initPoolSize, int maxPoolSize)
 To test Database group, connection pool settings can be set using this method
 void setConnectionPoolSettings(boolean useConnectionPool, int connectionTimeout, int maxConnectionUsage, int initPoolSize, int maxPoolSize, java.lang.String customConnectionPoolClass, java.lang.String customConnectionPoolClasspath)
 To test Database group, connection pool settings can be set using this method
 void setDefaultThinkTime(int seconds)
 This method is used to set the default think/wait time.
 void setExponentialStrategy(int users, int maxUsers, int incrementInterval)
 Select Exponential strategy when you want to find the breaking point of your application.
 void setGroupRunStrategy(int strategy, int selection)
 To set execution strategy for group, whether to run sequentially or simultaneously
 void setIgnoreThinkTimeWhileReplaying(boolean ignore)
 This method is used to decide whether to ignore think/wait time during replaying
 void setIncrementalStrategy(int users, int increment, int maxUsers, int incrementInterval)
 Select Incremental strategy when you want to find the breaking point of the application, by imposing increasing levels of load on it during the test.
 void setIPFetchCriteria(int criteria)
 This method is provided to specify the fetch criteria to decide how application should assign IP Address for each VU.
 void setLoadBalancing(boolean balance)
 Use this method to run each virtual user with different IP address.
 void setLoadTestDatabase(boolean test, java.lang.String uniqueId)
 This method sets the required settings for load testing Database, one need to configure the Database settings using IDatabaseHandler.setDatabaseConnection method.
 void setLoopStrategy(int users, int loopCount)
 Select Loop strategy when the application is to be tested for sequential load for a specified number of iterations.
 void setNetworkBandwith(int bandwidth, int customBandwidth, float vuPercent, boolean ignore)
 This method is used to set network bandwidth settings in case one has selected to throttle test based on network bandwidth
 void setNetworkBandwith(int bandwidth, int customBandwidth, float vuPercent, boolean ignore, int latency)
 This method is used to set network bandwidth settings in case one has selected to throttle test based on network bandwidth
 void setNetworkBandwith(java.lang.String bandwidth, int customBandwidth, float vuPercent, boolean ignore)
 This method is used to set network bandwidth settings in case one has selected to throttle test based on network bandwidth
 void setNetworkBandwith(java.lang.String bandwidth, int customBandwidth, float vuPercent, boolean ignore, int latency)
 This method is used to set network bandwidth settings in case one has selected to throttle test based on network bandwidth
 void setNetworkBandwithFetchCriteria(int criteria)
 This method is provided to specify the fetch criteria to decide how application should assign network bandwidth for each VU.
 void setQuadracticStrategy(int users, int increment, int incrementInterval)
 Select Quadratic strategy when you want to find or determine how the application recovers from a period of increasing load.
 void setRampUpTime(int seconds)
 This method is used to set ramp up time.
 void setRecordThinkTime(boolean record)
 This method is used to decide whether to record think/wait time or not.
 void setResolveSubTask(boolean resolve)
 This method is used to decide whether to resolve subtasks(images/js/css) automatically during recording
 void setResponseTimeInMilliSeconds(boolean flag)
 Whether to set Response Time in milliseconds
 void setRetryIfTaskFails(int retryCount, int delay)
 This method is used to set number of times the task should retry execution in case of failure
 void setRunDurationInHits(int hitStrategy, int hitCount)
 This method is used to set run duration of test in terms of number of total hits or hits per user
 void setRunDurationInTime(int minutes)
 This method is used to set run duration of test in terms of amount of time period
 void setRunDurationInTime(int hours, int minutes)
 This method is used to set run duration of test in terms of amount of time period
 void setRunDurationInTime(int days, int hours, int minutes)
 This method is used to set run duration of test in terms of amount of time period
 void setRunProjectOnMultipleMachines(boolean run)
 This method is used to decide is the project is to be run on multiple machines simultaneously.
 void setRunProjectOnMultipleMachines(boolean run, boolean runOnLocalMachine)
 This method is used to decide is the project is to be run on multiple machines simultaneously.
 void setSaveAllTaskDetails(boolean flag)
 Whether to save each and every task execution detail to a CSV file
 void setSaveSuccessfulResponseDetails(boolean save)
 This method is used to decide whether to save successful response details while replaying
 void setShowAverage90Percent(boolean showAvg90)
 Whether to show average of middle 90% value.
 void setShowCombinedChart(boolean showCombinedChart)
 Whether to show single chart having all parameters or individual chart for each parameter
 void setShowScatterPlot(boolean showScatterPlot)
 Whether to show scatter plot of Virtual users Vs Response time.
 void setShowSubTasks(boolean showSubTasks)
 Whether to show sub-task details in Status & Result view.
 void setShowTaskResponseChart(boolean showTaskResponseChart)
 Whether to show Task wise response time chart of Virtual users.
 void setSimulateBrowser(boolean enable)
  
 void setSimulateIEBrowser(boolean simulate, float percentage)
 To simulate IE Browser behaviour, where 2 simultaneous connections would be opened to fetch response.
 void setSimulateMozillaBrowser(boolean simulate, float percentage, int connections)
 To simulate Mozilla Browser behaviour, where number of connections are configurable.
 void setStopOnFailedTaskCount(int strategy, int failCount)
 This method is used to decide when the Test execution should be stopped in between in case of failure
 void setSystemMonitor(boolean systemMonitor)
 To set whether to monitor system resources on target machine
 void setTaskDetailsBufferSize(int bufferSize)
 Buffer size to be used while saving task execution details to a CSV file
 void setThrottleNetworkBandwith(boolean throttle)
 This method is provided to throttle test based on the network bandwidth.
 void setThroughputType(byte throughputType)
 Set the throughput type
 void setTimeout(int seconds)
 Few urls may take long time to respond, sometimes forever, due to various reason like server is not responding, network failure etc.
 void setTreatTimeOutAsFailed(boolean status)
 This method is used to decide if timeout URLs/Events should be treated as failed events.
 void setUseRecordedCookiesWhileReplaying(boolean flag)
 This method is used to inform application to use recorded cookies during replaying instead of the ones generated during replaying of the task
 void setUseSameTimeOut(boolean flag)
 This method is used to use same timeout value for all the tasks throughout the project overriding the individual time out value for each of the task
 
Methods inherited from interface com.appperfect.devcommon.script.IScriptTest
addLinkProjectGroup, addTestParameter, addTestParameter, addTestParameter, addTestParameter, setCSVDatasource, setDatabaseDatasource, setDateCalculationDatasource, setLastIndex, setNumberCalculationDatasource, setNumberCalculationDatasource, setParameterValues, setPassthroughDatasource, setPassthroughDatasource, setPassthroughDatasource, setPassthroughDatasource, setReplayLinkedProjects
 

Field Detail

EVERY_ITERATION

static final int EVERY_ITERATION
See Also:
Constant Field Values

EVERY_TASK

static final int EVERY_TASK
See Also:
Constant Field Values

FETCH_NEW_IP

static final int FETCH_NEW_IP
possible value for fetch criteria for picking IP addresses by VUs

See Also:
Constant Field Values

FETCH_NEW_NB

static final int FETCH_NEW_NB
possible value for fetch criteria for picking Network bandwidth by VUs

See Also:
Constant Field Values

FETCH_SAME_IP

static final int FETCH_SAME_IP
See Also:
Constant Field Values

FETCH_SAME_NB

static final int FETCH_SAME_NB
See Also:
Constant Field Values

HITS_PER_USER

static final int HITS_PER_USER
specifies if the strategy is number of hits per User

See Also:
Constant Field Values

MONITOR_AIX

static final int MONITOR_AIX
possible value for Operating system of remote machine for which system monitoring should be done

See Also:
Constant Field Values

MONITOR_LINUX

static final int MONITOR_LINUX
possible value for Operating system of remote machine for which system monitoring should be done

See Also:
Constant Field Values

MONITOR_MACOSX

static final int MONITOR_MACOSX
possible value for Operating system of remote machine for which system monitoring should be done

See Also:
Constant Field Values

MONITOR_SOLARIS

static final int MONITOR_SOLARIS
possible value for Operating system of remote machine for which system monitoring should be done

See Also:
Constant Field Values

MONITOR_WINDOWS

static final int MONITOR_WINDOWS
possible value for Operating system of remote machine for which system monitoring should be done

See Also:
Constant Field Values

NETWORK_BANDWIDTH_1024Kbps

static final int NETWORK_BANDWIDTH_1024Kbps
specifies to use 1024 kbps network bandwidth

See Also:
Constant Field Values

NETWORK_BANDWIDTH_2048Kbps

static final int NETWORK_BANDWIDTH_2048Kbps
specifies to use 2048 kbps network bandwidth

See Also:
Constant Field Values

NETWORK_BANDWIDTH_256Kbps

static final int NETWORK_BANDWIDTH_256Kbps
specifies to use 256 kbps network bandwidth

See Also:
Constant Field Values

NETWORK_BANDWIDTH_512Kbps

static final int NETWORK_BANDWIDTH_512Kbps
specifies to use 512 kbps network bandwidth

See Also:
Constant Field Values

NETWORK_BANDWIDTH_56Kbps

static final int NETWORK_BANDWIDTH_56Kbps
specifies to use 56 kpbs network bandwidth

See Also:
Constant Field Values

NETWORK_BANDWIDTH_CUSTOM

static final int NETWORK_BANDWIDTH_CUSTOM
specifies to use custom network bandwidth as configured by user

See Also:
Constant Field Values

NETWORK_BANDWIDTH_MAXIMUM

static final int NETWORK_BANDWIDTH_MAXIMUM
specifies to use maximum network bandwidth

See Also:
Constant Field Values

SEQUENTIAL_GROUP_SELECTION

static final int SEQUENTIAL_GROUP_SELECTION
possible value for running groups, in case of sequential group execution

See Also:
Constant Field Values

SIMULATE_BROWSER_CHROME

static final int SIMULATE_BROWSER_CHROME
specifies to simulate Google-Chromw browser

See Also:
Constant Field Values

SIMULATE_BROWSER_CUSTOM

static final int SIMULATE_BROWSER_CUSTOM
specifies to simulate Custom browser

See Also:
Constant Field Values

SIMULATE_BROWSER_FIREFOX

static final int SIMULATE_BROWSER_FIREFOX
specifies to simulate Mozilla/Firefox browser

See Also:
Constant Field Values

SIMULATE_BROWSER_IE

static final int SIMULATE_BROWSER_IE
specifies to simulate IE browser

See Also:
Constant Field Values

SIMULATE_BROWSER_IPHONE

static final int SIMULATE_BROWSER_IPHONE
specifies to simulate iPhone

See Also:
Constant Field Values

SIMULATE_BROWSER_OPERA

static final int SIMULATE_BROWSER_OPERA
specifies to simulate Opera browser

See Also:
Constant Field Values

SIMULATE_BROWSER_SAFARI

static final int SIMULATE_BROWSER_SAFARI
specifies to simulate Safari browser

See Also:
Constant Field Values

SIMULTANEOUS_GROUP_SELECTION

static final int SIMULTANEOUS_GROUP_SELECTION
possible value for running groups, in case of simultaneous group execution

See Also:
Constant Field Values

START_ACTION_END_REPEAT

static final int START_ACTION_END_REPEAT
possible value for run behavior of test, to run Start, Action and End group in that order and repeat this sequence

See Also:
Constant Field Values

START_ACTION_REPEAT_END

static final int START_ACTION_REPEAT_END
possible value for run behavior of test, to run Start, Action (Repeat) and End group in that order and repeat just the action groups, so start and ending groups will be executed only once by a single user

See Also:
Constant Field Values

TEST_EXECUTION

static final int TEST_EXECUTION
See Also:
Constant Field Values

THROUGHPUT_IN_BYTES

static final byte THROUGHPUT_IN_BYTES
See Also:
Constant Field Values

THROUGHPUT_IN_KB

static final byte THROUGHPUT_IN_KB
See Also:
Constant Field Values

THROUGHPUT_IN_MB

static final byte THROUGHPUT_IN_MB
See Also:
Constant Field Values

TOTAL_HITS

static final int TOTAL_HITS
specifies if the strategy is number of total hits

See Also:
Constant Field Values
Method Detail

addActionGroup

IGroup addActionGroup(int protocol,
                      java.lang.String groupName)
To add the Action group for the test. Normally all the tasks related to actions done between login and logout are recorded in this group. To test different functionalities in your application you can create a different Action group.

Parameters:
protocol - could be one of IGroup.GROUP_HTTP or IGroup.GROUP_DATABASE or IGroup.GROUP_CLI depending on whether it will have HTTP/S web tasks or Database query tasks
groupName - custom name for the action group
Returns:
IGroup containing the Action group instance.

addEndingGroup

IHttpGroup addEndingGroup()
To add Ending group for the test. Normally all the tasks related to logout and cleanup are recorded in this group.

Returns:
IHttpGroup, containing the Ending group instance.

addIPAddress

void addIPAddress(java.lang.String ipAddress,
                  int vuCount,
                  boolean ignore)
To add IP address for N virtual users, to be used for Load Balancing

Parameters:
ipAddress - IP address of the machine.
vuCount - number of virtual users to use this IP
ignore - true or false

addLinkProjectGroup

void addLinkProjectGroup(java.lang.String projectName,
                         java.lang.String groupName,
                         boolean bIgnore,
                         int repeatCount,
                         float virtualUserPercent)
To add linked group settings

Parameters:
projectName - name of project from where the groups should be picked for linking with host test
groupName - name of group to be linked from the specified project
bIgnore - whether this group should be ignored during execution
repeatCount - no of times this group should be repeated
virtualUserPercent - percentage of virtual users which should be running this group

addRemoteMachine

void addRemoteMachine(java.lang.String protocol,
                      java.lang.String hostName,
                      int servicePort,
                      java.lang.String path,
                      int virtualUserCount,
                      boolean ignore)
This method is used to add remote machine settings where the AppPerfect service is running so that project can be run on remote machines simultaneously

Parameters:
protocol - protocol used to connect to remote machine.
hostName - Host/Machine name of remote machine
servicePort - port where the AppPerfect Service is running on remote machine
path - context path for the AppPerfect Service.
virtualUserCount - number of virtual users to run from this machine
ignore - whether this machine settings should be ignored

addStartingGroup

IHttpGroup addStartingGroup()
To add starting group for the test. Normally all the tasks related to login and initializations are recorded in this group.

Returns:
IHttpGroup, containing the Starting group instance.

collectTopTasks

void collectTopTasks(int taskCount)
Whether to collect details for top N tasks based on response time

Parameters:
taskCount - number of tasks for which details should be collected

configureBrowserSimulation

void configureBrowserSimulation(int browserType,
                                boolean enabled,
                                float percentage,
                                int persistentConnections,
                                java.lang.String userAgent)
configure browser simulation settings for browser types

Parameters:
browserType -
enabled -
percentage -
persistentConnections -
userAgent -

monitorAIXMachine

void monitorAIXMachine(java.lang.String hostName,
                       java.lang.String username,
                       java.lang.String password,
                       int protocol,
                       int port,
                       boolean useService,
                       java.lang.String serviceURI)
To set target machine settings to monitor system resources

Parameters:
hostName - HostName or IP address of the machine
username - login user name for the machine
password - login password for the machine
protocol - which connection protocol (telnet/ssh) to use
port - connection port, default port for telnet is 23 and for ssh is 22
useService - whether to use local AppPerfect Service (Service name : AppService, default port 8714) running on machine to monitor
serviceURI - in case useService is true then serviceURI is of from http://HOSTNAME:8714/AppService

monitorLinuxMachine

void monitorLinuxMachine(java.lang.String hostName,
                         java.lang.String username,
                         java.lang.String password,
                         int protocol,
                         int port,
                         boolean useService,
                         java.lang.String serviceURI)
To set target machine settings to monitor system resources

Parameters:
hostName - HostName or IP address of the machine
username - login user name for the machine
password - login password for the machine
protocol - which connection protocol (telnet/ssh) to use
port - connection port, default port for telnet is 23 and for ssh is 22
useService - whether to use local AppPerfect Service (Service name : AppService, default port 8714) running on machine to monitor
serviceURI - in case useService is true then serviceURI is of from http://HOSTNAME:8714/AppService

monitorMACOSXMachine

void monitorMACOSXMachine(java.lang.String hostName,
                          java.lang.String username,
                          java.lang.String password,
                          int protocol,
                          int port,
                          boolean useService,
                          java.lang.String serviceURI)
To set target machine settings to monitor system resources

Parameters:
hostName - HostName or IP address of the machine
username - login user name for the machine
password - login password for the machine
protocol - which connection protocol (telnet/ssh) to use
port - connection port, default port for telnet is 23 and for ssh is 22
useService - whether to use local AppPerfect Service (Service name : AppService, default port 8714) running on machine to monitor
serviceURI - in case useService is true then serviceURI is of from http://HOSTNAME:8714/AppService

monitorSolarisMachine

void monitorSolarisMachine(java.lang.String hostName,
                           java.lang.String username,
                           java.lang.String password,
                           int protocol,
                           int port,
                           boolean useService,
                           java.lang.String serviceURI)
To set target machine settings to monitor system resources

Parameters:
hostName - HostName or IP address of the machine
username - login user name for the machine
password - login password for the machine
protocol - which connection protocol (telnet/ssh) to use
port - connection port, default port for telnet is 23 and for ssh is 22
useService - whether to use local AppPerfect Service (Service name : AppService, default port 8714) running on machine to monitor
serviceURI - in case useService is true then serviceURI is of from http://HOSTNAME:8714/AppService

monitorWindowsMachine

void monitorWindowsMachine(java.lang.String hostName,
                           java.lang.String username,
                           java.lang.String password,
                           java.lang.String domain,
                           boolean useService,
                           java.lang.String serviceURI)
To set target machine settings to monitor system resources

Parameters:
hostName - HostName or IP address of the machine
username - login user name for the machine
password - login password for the machine
domain - name of the domain to which machine belongs
useService - whether to use local AppPerfect service (Service name : AppService, default port 8714) running on machine to monitor
serviceURI - in case useService is true then serviceURI is of from http://HOSTNAME:8714/AppService

setBurstStrategy

void setBurstStrategy(int users)
Select Burst strategy when the application is to be tested for sudden loads. The users Count is the number of threads that will be created when the test is run. All these threads will simultaneously start sending requests for the tasks present in the test. The number of threads running remain constant during the test run. This strategy is recommended when you want to study the effect of sudden load on the target application and is generally used with a short time duration setting.

Parameters:
users - number of threads that will be created when the test is run.

setClearCacheAfterEachIteration

void setClearCacheAfterEachIteration(boolean clear)
This method is used to decide whether the cache should be cleared after each iteration

Parameters:
clear - true or false

setCloseConnectionAfterEachIteration

void setCloseConnectionAfterEachIteration(boolean closeConnection)
This method is used to decide whether the connections should be closed after each iteration

Parameters:
closeConnection - true or false

setCloseDBConnectionAfter

void setCloseDBConnectionAfter(int action)
Set when DB connection should be closed, after every task, after every iteration or after project execution

Parameters:
action -

setCompleteActionGroupAfterTestStop

void setCompleteActionGroupAfterTestStop(boolean completeActionGroup)
This method is used to decide whether the currently running group should be completed before stopping test.

Parameters:
completeActionGroup - true or false

setConnectionPoolSettings

void setConnectionPoolSettings(boolean useConnectionPool,
                               int connectionTimeout,
                               int maxConnectionUsage,
                               int initPoolSize,
                               int maxPoolSize)
To test Database group, connection pool settings can be set using this method

Parameters:
useConnectionPool - whether to use connection pool or not, true or false
connectionTimeout - to specify time out period in seconds
maxConnectionUsage - to specify Maximum usage of a connection
initPoolSize - to specify initial size of connection pool
maxPoolSize - to specify maximum size of connection pool

setConnectionPoolSettings

void setConnectionPoolSettings(boolean useConnectionPool,
                               int connectionTimeout,
                               int maxConnectionUsage,
                               int initPoolSize,
                               int maxPoolSize,
                               java.lang.String customConnectionPoolClass,
                               java.lang.String customConnectionPoolClasspath)
To test Database group, connection pool settings can be set using this method

Parameters:
useConnectionPool - whether to use connection pool or not, true or false
connectionTimeout - to specify time out period in seconds
maxConnectionUsage - to specify Maximum usage of a connection
initPoolSize - to specify initial size of connection pool
maxPoolSize - to specify maximum size of connection pool
customConnectionPoolClass - class name for custom connection pool manager class
customConnectionPoolClasspath - classpath for custom connection pool manager class

setDefaultThinkTime

void setDefaultThinkTime(int seconds)
This method is used to set the default think/wait time.

Parameters:
seconds - is the no. of seconds to wait.

setExponentialStrategy

void setExponentialStrategy(int users,
                            int maxUsers,
                            int incrementInterval)
Select Exponential strategy when you want to find the breaking point of your application. You need to specify the initial Virtual User Count value, a Interval value (seconds) and Maximum Virtual Users value. The Virtual User Count is the number of threads that will be created when the test is run. In this type of a run, the number of threads specified as the virtual user count are started and after the specified interval, the number of threads are doubled and this continues till the maximum virtual users count value is reached or the test duration ends, whichever is earlier. If the virtual users count reaches maximum virtual users and the test duration is remaining, the test will continue to run till the specified duration.

Parameters:
users - number of threads that will be created when the test is run
maxUsers - maximum number of users/threads that should be created.
incrementInterval - amount of time in seconds after which the threads should be doubled

setGroupRunStrategy

void setGroupRunStrategy(int strategy,
                         int selection)
To set execution strategy for group, whether to run sequentially or simultaneously

Parameters:
strategy - could be one of ILoadTest.SIMULTANEOUS_GROUP_SELECTION or ILoadTest.SEQUENTIAL_GROUP_SELECTION
selection - to specify the run behaviour, could be one of ILoadTest.START_ACTION_END_REPEAT or ILoadTest.START_ACTION_REPEAT_END

setIgnoreThinkTimeWhileReplaying

void setIgnoreThinkTimeWhileReplaying(boolean ignore)
This method is used to decide whether to ignore think/wait time during replaying

Parameters:
ignore - true if think time should be ignored while replaying, false otherwise

setIncrementalStrategy

void setIncrementalStrategy(int users,
                            int increment,
                            int maxUsers,
                            int incrementInterval)
Select Incremental strategy when you want to find the breaking point of the application, by imposing increasing levels of load on it during the test. You need to specify the initial Virtual User Count value, an Increment By value, a Interval value (seconds) and a Maximum Virtual Users value. The Virtual User Count is the number of threads that will be created when the test is run In this type of a run, the number of threads specified as the Virtual count value are started and after the specified interval, the number of threads are increased by the value specified for Increment By. If a maximum virtual users value is specified, then no additional threads are started and the test continues with the maximum number of users specified.

Parameters:
users - number of threads that will be created when the test is run
increment - number of threads that should be incremented after specified interval
maxUsers - maximum number of users/threads that should be created.
incrementInterval - amount of time in seconds after which the threads should be incremented

setIPFetchCriteria

void setIPFetchCriteria(int criteria)
This method is provided to specify the fetch criteria to decide how application should assign IP Address for each VU. Whether first X% VU should get same ip address or new ip address should be assigned for each VU.

Parameters:
criteria - Possible values are ILoadTest.FETCH_NEW_IP OR ILoadTest.FETCH_SAME_IP

setLoadBalancing

void setLoadBalancing(boolean balance)
Use this method to run each virtual user with different IP address. If virtual users are more then IP addresses would be reused.

Parameters:
balance - whether or not to use different IP address for each virtual usage, true or false

setLoadTestDatabase

void setLoadTestDatabase(boolean test,
                         java.lang.String uniqueId)
This method sets the required settings for load testing Database, one need to configure the Database settings using IDatabaseHandler.setDatabaseConnection method. Each database configuration is allocated a unique ID which is used to identify the configuration.

Parameters:
test - If Database group then true else false
uniqueId - Each database configuration is allocated a unique ID which is used to identify the database configuration.

setLoopStrategy

void setLoopStrategy(int users,
                     int loopCount)
Select Loop strategy when the application is to be tested for sequential load for a specified number of iterations. The Users Count is the number of threads that will be created when the test is run. The Loop Count is the number of times the tasks will be executed. When the test runs all the threads will simultaneously start sending requests for the URLs present in the test. At the point when all the Tasks have been used, they will be picked over and over again, till the value equal to specified number of iterations reached.

Parameters:
users - number of threads that will be created when the test is run
loopCount - number of times the tasks will be executed

setNetworkBandwith

void setNetworkBandwith(int bandwidth,
                        int customBandwidth,
                        float vuPercent,
                        boolean ignore)
This method is used to set network bandwidth settings in case one has selected to throttle test based on network bandwidth

Parameters:
bandwidth - can be set to any of ILoadTest.NETWORK_BANDWIDTH_MAXIMUM or ILoadTest.NETWORK_BANDWIDTH_56Kbps or ILoadTest.NETWORK_BANDWIDTH_256Kbps or ILoadTest.NETWORK_BANDWIDTH_512Kbps or ILoadTest.NETWORK_BANDWIDTH_1024Kbps or ILoadTest.NETWORK_BANDWIDTH_2048Kbps or ILoadTest.NETWORK_BANDWIDTH_CUSTOM
customBandwidth - in case bandwidth selected is ILoadTest.NETWORK_BANDWIDTH_CUSTOM then provide the custom bandwidth value in kbps
vuPercent - % of users to simulate using this bandwidth
ignore - if this bandwidth setting should be ignored, true or false

setNetworkBandwith

void setNetworkBandwith(int bandwidth,
                        int customBandwidth,
                        float vuPercent,
                        boolean ignore,
                        int latency)
This method is used to set network bandwidth settings in case one has selected to throttle test based on network bandwidth

Parameters:
bandwidth - can be set to any of ILoadTest.NETWORK_BANDWIDTH_MAXIMUM or ILoadTest.NETWORK_BANDWIDTH_56Kbps or ILoadTest.NETWORK_BANDWIDTH_256Kbps or ILoadTest.NETWORK_BANDWIDTH_512Kbps or ILoadTest.NETWORK_BANDWIDTH_1024Kbps or ILoadTest.NETWORK_BANDWIDTH_2048Kbps or ILoadTest.NETWORK_BANDWIDTH_CUSTOM
customBandwidth - in case bandwidth selected is ILoadTest.NETWORK_BANDWIDTH_CUSTOM then provide the custom bandwidth value in kbps
vuPercent - % of users to simulate using this bandwidth
ignore - if this bandwidth setting should be ignored, true or false
latency - network latency for virtual user. Virtual user will basically sleep for this time period after each request.

setNetworkBandwith

void setNetworkBandwith(java.lang.String bandwidth,
                        int customBandwidth,
                        float vuPercent,
                        boolean ignore)
This method is used to set network bandwidth settings in case one has selected to throttle test based on network bandwidth

Parameters:
bandwidth - can be set to any of ILoadTest.NETWORK_BANDWIDTH_MAXIMUM or ILoadTest.NETWORK_BANDWIDTH_56Kbps or ILoadTest.NETWORK_BANDWIDTH_256Kbps or ILoadTest.NETWORK_BANDWIDTH_512Kbps or ILoadTest.NETWORK_BANDWIDTH_1024Kbps or ILoadTest.NETWORK_BANDWIDTH_2048Kbps or ILoadTest.NETWORK_BANDWIDTH_CUSTOM
customBandwidth - in case bandwidth selected is ILoadTest.NETWORK_BANDWIDTH_CUSTOM then provide the custom bandwidth value in kbps
vuPercent - % of users to simulate using this bandwidth
ignore - if this bandwidth setting should be ignored, true or false

setNetworkBandwith

void setNetworkBandwith(java.lang.String bandwidth,
                        int customBandwidth,
                        float vuPercent,
                        boolean ignore,
                        int latency)
This method is used to set network bandwidth settings in case one has selected to throttle test based on network bandwidth

Parameters:
bandwidth - can be set to any of ILoadTest.NETWORK_BANDWIDTH_MAXIMUM or ILoadTest.NETWORK_BANDWIDTH_56Kbps or ILoadTest.NETWORK_BANDWIDTH_256Kbps or ILoadTest.NETWORK_BANDWIDTH_512Kbps or ILoadTest.NETWORK_BANDWIDTH_1024Kbps or ILoadTest.NETWORK_BANDWIDTH_2048Kbps or ILoadTest.NETWORK_BANDWIDTH_CUSTOM
customBandwidth - in case bandwidth selected is ILoadTest.NETWORK_BANDWIDTH_CUSTOM then provide the custom bandwidth value in kbps
vuPercent - % of users to simulate using this bandwidth
ignore - if this bandwidth setting should be ignored, true or false
latency - network latency for virtual user. Virtual user will basically sleep for this time period after each request.

setNetworkBandwithFetchCriteria

void setNetworkBandwithFetchCriteria(int criteria)
This method is provided to specify the fetch criteria to decide how application should assign network bandwidth for each VU. Whether first X% VU should get same network bandwidth or new network bandwidth should be assigned for each VU.

Parameters:
criteria - Possible values are ILoadTest.FETCH_NEW_NB OR ILoadTest.FETCH_SAME_NB

setQuadracticStrategy

void setQuadracticStrategy(int users,
                           int increment,
                           int incrementInterval)
Select Quadratic strategy when you want to find or determine how the application recovers from a period of increasing load. The initial Virtual User Count value, an Increment By value and a Interval value(in seconds) have to specified. The Virtual User Count is the number of threads that will be created when the test is run. In this type of a run, the number of threads specified as the virtual user count are started and after the specified interval, the number of threads are increased by the value specified for Increment By. After the midpoint of the group duration has been reached, then the number of threads specified as the number of threads Increment By will be caused to stop after every time interval for the rest of the group duration. This strategy allows you to study the behavior under conditions of increasing load and then study the effect of how the systems recovers once the load is slowly removed.

Parameters:
users - users number of threads that will be created when the test is run
increment - number of threads that should be incremented after specified interval
incrementInterval - amount of time in seconds after which the threads should be incremented

setRampUpTime

void setRampUpTime(int seconds)
This method is used to set ramp up time. By setting the Ramp Up Time you can control the no of Virtual user threads that are created at a time & delay in creation of the virtual user threads. For example under Burst strategy, setting it as ZERO, means all the threads are started simultaneously without any delay between them. By setting some positive value, Application will determine how many threads to start at one time & what will be the delay between two consecutive thread creation. E.g. Burst 100 users with ramp up time as 20 seconds, application will create 100 users in the span of 20 seconds, i.e. 5 users/second instead of creating 100 users in one go.

Parameters:
seconds - time in seconds

setRecordThinkTime

void setRecordThinkTime(boolean record)
This method is used to decide whether to record think/wait time or not.

Parameters:
record - true if think time should be recorded, false otherwise

setResolveSubTask

void setResolveSubTask(boolean resolve)
This method is used to decide whether to resolve subtasks(images/js/css) automatically during recording

Parameters:
resolve - true if subtasks should be resolved automatically, false otherwise

setResponseTimeInMilliSeconds

void setResponseTimeInMilliSeconds(boolean flag)
Whether to set Response Time in milliseconds

Parameters:
flag - true if Response time should be calculated in milliseconds, false otherwise

setRetryIfTaskFails

void setRetryIfTaskFails(int retryCount,
                         int delay)
This method is used to set number of times the task should retry execution in case of failure

Parameters:
retryCount - number of times to retry
delay - amount of time in seconds to wait before retrying.

setRunDurationInHits

void setRunDurationInHits(int hitStrategy,
                          int hitCount)
This method is used to set run duration of test in terms of number of total hits or hits per user

Parameters:
hitStrategy - could be one of ILoadTest.TOTAL_HITS or ILoadTest.HITS_PER_USER
hitCount - number of hits

setRunDurationInTime

void setRunDurationInTime(int minutes)
This method is used to set run duration of test in terms of amount of time period

Parameters:
minutes - number of minutes for which test should be executed

setRunDurationInTime

void setRunDurationInTime(int hours,
                          int minutes)
This method is used to set run duration of test in terms of amount of time period

Parameters:
hours - number of hours for which test should be executed
minutes - number of minutes for which test should be executed

setRunDurationInTime

void setRunDurationInTime(int days,
                          int hours,
                          int minutes)
This method is used to set run duration of test in terms of amount of time period

Parameters:
days - number of days for which test should be executed
hours - number of hours for which test should be executed
minutes - number of minutes for which test should be executed

setRunProjectOnMultipleMachines

void setRunProjectOnMultipleMachines(boolean run)
This method is used to decide is the project is to be run on multiple machines simultaneously.

Parameters:
run - whether to run project on multiple machines simultaneously

setRunProjectOnMultipleMachines

void setRunProjectOnMultipleMachines(boolean run,
                                     boolean runOnLocalMachine)
This method is used to decide is the project is to be run on multiple machines simultaneously.

Parameters:
run - whether to run project on multiple machines simultaneously
runOnLocalMachine - whether to run project on local machine

setSaveAllTaskDetails

void setSaveAllTaskDetails(boolean flag)
Whether to save each and every task execution detail to a CSV file

Parameters:
flag - true if each and every task execution is to be saved to a CSV file

setSaveSuccessfulResponseDetails

void setSaveSuccessfulResponseDetails(boolean save)
This method is used to decide whether to save successful response details while replaying

Parameters:
save - true if successful response details should be saved while replaying, false otherwise

setShowAverage90Percent

void setShowAverage90Percent(boolean showAvg90)
Whether to show average of middle 90% value. This is memory intensive.

Parameters:
showAvg90 - true if average of middle 90% values is to be show in Status & Result

setShowCombinedChart

void setShowCombinedChart(boolean showCombinedChart)
Whether to show single chart having all parameters or individual chart for each parameter

Parameters:
showCombinedChart - true if single chart containing all parameters, false otherwise

setShowScatterPlot

void setShowScatterPlot(boolean showScatterPlot)
Whether to show scatter plot of Virtual users Vs Response time. Plot not shown in Burst & Loop strategy.

Parameters:
showScatterPlot - true if show scatter plot, false otherwise

setShowSubTasks

void setShowSubTasks(boolean showSubTasks)
Whether to show sub-task details in Status & Result view. This is memory intensive.

Parameters:
showSubTasks - true if sub-task details is to be shown in Status & Result

setShowTaskResponseChart

void setShowTaskResponseChart(boolean showTaskResponseChart)
Whether to show Task wise response time chart of Virtual users.

Parameters:
showTaskResponseChart - true if show task response chart, false otherwise

setSimulateBrowser

void setSimulateBrowser(boolean enable)
Parameters:
enable -

setSimulateIEBrowser

void setSimulateIEBrowser(boolean simulate,
                          float percentage)
To simulate IE Browser behaviour, where 2 simultaneous connections would be opened to fetch response.

Parameters:
simulate - true or false
percentage - % of virtual users to simulate

setSimulateMozillaBrowser

void setSimulateMozillaBrowser(boolean simulate,
                               float percentage,
                               int connections)
To simulate Mozilla Browser behaviour, where number of connections are configurable. Default is 2 connections.

Parameters:
simulate - true or false
percentage - % of virtual users to simulate
connections - number of connections which should be opened simultaneously to fetch response

setStopOnFailedTaskCount

void setStopOnFailedTaskCount(int strategy,
                              int failCount)
This method is used to decide when the Test execution should be stopped in between in case of failure

Parameters:
strategy - could be one of ILoadTest.TOTAL_HITS or ILoadTest.HITS_PER_USER
failCount - number of failed hits

setSystemMonitor

void setSystemMonitor(boolean systemMonitor)
To set whether to monitor system resources on target machine

Parameters:
systemMonitor - true or false

setTaskDetailsBufferSize

void setTaskDetailsBufferSize(int bufferSize)
Buffer size to be used while saving task execution details to a CSV file

Parameters:
bufferSize - size of the buffer, default value is 8192

setThrottleNetworkBandwith

void setThrottleNetworkBandwith(boolean throttle)
This method is provided to throttle test based on the network bandwidth. Lets say you are connected to network using dialup so you cannnot download anything more than 56 kbps, but say if you are using DSL you can download upto 1mbps. So actual users might be using application from different bandwidths, and if we don't consider this we will endup reporting too many hits but actual users are not going to get those many hits or that response time, so what we do is depending on network speed we decide the number of bytes which can pass in one second, we look at response of each request and if we find it cannot pass in one sec we wait for time in which response can be passed to the user. This affects the response time as well as hit count, this way we throttle test based on network speed.

Parameters:
throttle - true or false

setThroughputType

void setThroughputType(byte throughputType)
Set the throughput type

Parameters:
throughputType -

setTimeout

void setTimeout(int seconds)
Few urls may take long time to respond, sometimes forever, due to various reason like server is not responding, network failure etc. This could affect the test execution which will never complete. One can come out of this situation by specifying the no of seconds after which the task execution will be aborted and its status will be marked as timed out.

Parameters:
seconds - no of seconds for the task to complete its execution.

setTreatTimeOutAsFailed

void setTreatTimeOutAsFailed(boolean status)
This method is used to decide if timeout URLs/Events should be treated as failed events.

Parameters:
status -

setUseRecordedCookiesWhileReplaying

void setUseRecordedCookiesWhileReplaying(boolean flag)
This method is used to inform application to use recorded cookies during replaying instead of the ones generated during replaying of the task

Parameters:
flag - whether to use recorded cookies during replaying.

setUseSameTimeOut

void setUseSameTimeOut(boolean flag)
This method is used to use same timeout value for all the tasks throughout the project overriding the individual time out value for each of the task

Parameters:
flag - whether to use same time out value for all the tasks.


Copyright © 2003-2016 AppPerfect Corporation. All Rights Reserved.