Sleep
This action introduces a delay during execution for the given period of time (in seconds).
This action can be used when a particular action takes some time for execution. For an instance, after performing an OpenUrl action, some amount of wait can be given till the url URL is opened completely.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
seconds | The number of seconds to wait for | Yes | String |
Example:
Sleep "20"
SelectPage
This action selects a popup browser window using a window name as the locator; once . Once the popup window is selected, all commands are sent to the selected page/window.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
windowName | This is the name of the window on which the actions need to be performed. | Yes | String |
Example:
Select Page "Name"
ClosePopUpBrowser
This action closes the popup on from the browser.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
windowName | This is the name of the window which needs to be closed | Yes | String |
Example:
ClosePopUpBrowser "viewPage"
PressKeys
This action sends one or more keystrokes to the active window (as if typed on the keyboard).
Note: This action is applicable only for desktop web applications.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
strKey | The key to be pressed for the browser window | Yes | String |
Example:
Suppose the user want to open the Find dialog on the Browser window under test. Manually this is done by pressing the keys Control and F simultaneously. This opens the Find dialog on the browser window. The same thing can be done using the action PressKeys .The data to be passed to the action in this case will be given as ~^F where ^ means Control. (See the list below for the keys and their meaning.
The action will return 0, if the key is pressed successfully else it will return 1 in any other case.
Important Note:
Ideally the data to be passed here is only ^F, however as ^ has a special meaning in Qualitia it has to be preceded with an escape sequence ~. Hence the data passed will be ~^F.
Make sure to prefix an escape sequence which is a tilda for the following characters which has a special meaning in Qualitia. The characters are {,}, ^, ~
Ex:
If key to be sent is {F1} then user should pass data as ~{F1~}
To send {TAB} then user should pass data as ~{TAB~}
To send {ENTER} then user should pass data as ~{ENTER~}
Use the PressKeys method to send keystrokes to applications that have no automation interface. Most keyboard characters are represented by a single keystroke. Some keyboard characters are made up of combinations of keystrokes (CTRL+SHIFT+HOME, for example). To send a single keyboard character, send the character itself as the string argument. For example, to send the letter x, send the string argument "x".
You can use PressKeys to send more than one keystroke at a time. To do this, create a compound string argument that represents a sequence of keystrokes by appending each keystroke in the sequence to the one before it. For example, to send the keystrokes a, b, and c, you would send the string argument "abc". The PressKeys method uses some characters as modifiers of characters (instead of using their face-values). This set of special characters consists of parentheses, brackets, braces, and the:
- plus sign "+",
- caret "^",
- percent sign "%",
- and tilde "~"
Send these characters by enclosing them within braces "{}". For example, to send the plus sign, send the string argument "{+}". Brackets "[ ]" have no special meaning when used with PressKeys, but you must enclose them within braces to accommodate applications that do give them a special meaning (for dynamic data exchange (DDE) for example).
- To send bracket characters, send the string argument "{[}" for the left bracket and "{]}" for the right one.
- To send brace characters, send the string argument "
}" for the left brace and "{
" for the right one.
Some keystrokes do not generate characters (such as ENTER and TAB). Some keystrokes represent actions (such as BACKSPACE and BREAK). To send these kinds of keystrokes, send the arguments shown in the following table:
Key | Argument |
---|---|
BACKSPACE | ~{BACKSPACE~}, ~{BS~}, or ~{BKSP~} |
BREAK | ~{BREAK~} |
CAPS LOCK | ~{CAPSLOCK~} |
DEL or DELETE | ~{DELETE} or ~{DEL~} |
DOWN ARROW | ~{DOWN~} |
END | ~{END~} |
ENTER | ~{ENTER~} or ~ |
ESC | ~{ESC~} |
HELP | ~{HELP~} |
HOME | ~{HOME~} |
INS or INSERT | ~{INSERT~} or ~{INS~} |
LEFT ARROW | ~{LEFT~} |
NUM LOCK | ~{NUMLOCK~} |
PAGE DOWN | ~{PGDN~} |
PAGE UP | ~{PGUP~} |
PRINT SCREEN | ~{PRTSC~} |
RIGHT ARROW | ~{RIGHT~} |
SCROLL LOCK | ~{SCROLLLOCK~} |
TAB | ~{TAB~} |
UP ARROW | ~{UP~} |
F1 | ~{F1~} |
F2 | ~{F2~} |
F3 | ~{F3~} |
F4 | ~{F4~} |
F5 | ~{F5~} |
F6 | ~{F6~} |
F7 | ~{F7~} |
F8 | ~{F8~} |
F9 | ~{F9~} |
F10 | ~{F10~} |
F11 | ~{F11~} |
F12 | ~{F12~} |
F13 | ~{F13~} |
F14 | ~{F14~} |
F15 | ~{F15~} |
F16 | ~{F16~} |
To send keyboard characters that are comprised of a regular keystroke in combination with a SHIFT, CTRL, or ALT, create a compound string argument that represents the keystroke combination. You do this by preceding the regular keystroke with one or more of the following special characters:
Key Special Character
SHIFT +
CTRL ^
ALT %
Note: When used this way, these special characters are not enclosed within a set of braces.
To specify that a combination of SHIFT, CTRL, and ALT should be held down while several other keys are pressed, create a compound string argument with the modified keystrokes enclosed in parentheses. For example, to send the keystroke combination that specifies that the SHIFT key is held down while:
- e and c are pressed, send the string argument "+(ec)".
- e is pressed, followed by a lone c (with no SHIFT), send the string argument "+ec".
You can use the PressKeys method to send a pattern of keystrokes that consists of a single keystroke pressed several times in a row. To do this, create a compound string argument that specifies the keystroke you want to repeat, followed by the number of times you want it repeated. You do this using a compound string argument of the form {keystroke number}. For example, to send the letter "x" ten times, you would send the string argument "{x 10}". Be sure to include a space between keystroke and number.
Note |
---|
|
StoreSubString
This action stores a substring of a string into a variable.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
strKey | The variable in which the substring is to be stored | Yes | String |
strMainString | The string whose substring is to be stored | Yes | String |
intStart | The index of the string from where the substring is to be fetched | Yes | String |
intLength | The number of characters required in the string. | Yes | String |
Example:
StoreSubString "resultSubString" "This is a test" "2" "4"
StoreStringLength
This action increments the string length by the value specified by the user and stores it into a variable.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
strKey | The variable in which the length of the string is to be stored | Yes | String |
strMainString | The string whose length is to be stored | Yes | String |
intIncrement | The value by which the length needs to be incremented | Yes | String |
Example:
StoreStringLength "length" "This is a test" "3"
CompareString
This action compares two strings. The comparison can be either case sensitive / non case-sensitive. Even a key can be passed as one of the parameters for comparison where the CompareString function will retrieve the value from the key and that value will be compared with expected.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
firstString | String 1 to be compared | Yes | String |
mainString | String 2 to be compared. Even a key name can be passed here enclosed in braces. | Yes | String |
caseSensitive | The kind of comparison to be done | Yes | String |
Example:
StoreVariable "Cancel" "key"
CompareString "{key}" "Cancel" "true"
Here the CompareString action shall retrieve the value for the key (here Cancel) and compare it with the expected (here Cancel) with case sensitive comparison as True. The action will return 0, if the strings match else it will return 2 if the strings do not match. It will return 1 in any other case (like an error).
The action can also compare strings having a new line character.
The spaces of both the strings are trimmed before comparing.
VerifyStringContainsValue
This action verifies that the substring is present within the main string. Comparison can either be case sensitive or insensitive.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
MainString | The main String in which the substring will be searched for. | Yes | String |
Substring | The string to be searched for in the main string. | Yes | String |
caseSensitive | This can be set as True or False. | Yes | String |
Example:
StoreVariable "Testing the action" "mainStrKey"
VerifyStringContainsValue "{mainStrKey}" "the action" "true"
Here the VerifyStringContainsValue action shall retrieve the value for the key mainStrKey and compare it with the expected with case sensitive comparison as True.
The action will return 0, if the substring is found in the main string, else it will return 2 if the substring is not found in the main string. In any other case it will return 1.
Empty and null substrings will not be verified by this action.
ComparePattern
Verifies that the data passed by the user matches the pattern specified by the user . Match can either be case sensitive or insensitive.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
Pattern | The pattern against which the data specified by the user will be verified. | Yes | String |
Data | The data which will be matched against the pattern specified by the user. | Yes | String |
caseSensitive | The data type can be set as true or false. | Yes | String |
Example:
Consider a bank application where on adding a user an account number is generated which is unique and consists of alphanumeric characters. The number of characters in that account number is 10 where the first 5 are alphabets and remaining five are numbers.
Suppose the account number is YuIFp96062. If this has to be verified for the pattern mentioned, we can use the action ComparePattern as follows:
- strPattern - /^[a-z]/{5/}[0-9]/{5/}$
- strData – YuIFp96062
- blnCase - False
ComparePattern "/^[a-z]/{5/}[0-9]/{5/}$" "YuIFp96062" "false"
Here the ComparePattern action shall verify that data mentioned matched the specified pattern .The action will return 0, if the data matches the specified pattern , else it will return 2 if the data does not match the pattern. In any other case it will return 1.
If the pattern is using Qualitia's special characters like {,},/,^ then they should be prefixed with /.
Special characters and sequences are used in writing patterns for regular expressions. For a complete list of the regular expression syntax visit the VBScript syntax Guide for Regular Expressions.
VerifyDifference
This action verifies the difference between two integer values and stores it in a variable.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
Int1 | Enter the interger 1 to verify difference. | Yes | Integer |
Int2 | Enter the interger 1 to verify difference. | Yes | Integer |
difference | The expected difference between the two integers | Yes | String |
Example :
VerifyDifference "30" "40" "10"
StoreSplitString
This action splits the string based on the delimiter specified by the user, and stores a particular instance from the splits into a variable.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
strKey | The variable in which the instance of the split string is to be stored | Yes | String |
mainString | The string which is to be split | Yes | String |
Delimiter | The delimiter to be used for splitting | Yes | String |
instance | The instance of the split string that is required. Ex: if the string is split into 4 strings, then which among the 4 strings is required is the instance parameter | Yes | String |
Example:
StoreSplitString "SplitKey" "This,is, a, test" "," "3"
MaximizeBrowser
This action maximizes the browser.
Example:
MaximizeBrowser
SelectFrame
This action selects a frame within the current window.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
locator | This locator can have the values of the frame's: Id, Name, Xpath, css | Yes | String |
locatorType | This is the type of locator used. It can be Id, name, xpath, and so on. | Yes | String |
Example:
SelectFrame "mainFrame" "name"
StoreCurrentDateInFormat
This action stores the current date in the specified format in a variable.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
Format | This parameter specifies the format in which the current date is to be stored. The valid formats are of the form dd for day, MM for month and yyyy for year. The combination of the same shall be the date format. | Yes | String |
key | The variable in which the current date will be stored | Yes | String |
Example:
StoreCurrentDateInFormat "MM-dd-yyyy" "currentDateKey"
StoreDateInFormat
This action stores the date provided by the user in a specific format in a key.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
date | The date which needs to be stored in the specified format. | Yes | String |
Format | This parameter specifies the format of the date provided by the user. | Yes | String |
resultFormat | Format in which the date given by the user needs to be stored. | Yes | String |
key | The variable in which the date in the new result format will be stored | Yes | String |
Example:
StoreDateInFormat "30/Jan/2009" "dd/MMM/yyyy" "dd-MMM-yyyy" "Datekey"
VerifyDates
This action performs comparisons between two dates for various operations (equality, inequality, greater than, less than).
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
startDate | The start date which needs to be verified. | Yes | String |
startformat | The format of the start date given by the user. | Yes | String |
endDate | The end date which needs to be verified with the start date. | Yes | String |
endFormat | This is the format of the end date. | Yes | String |
operation | Operation to be performed between the first and second dates ("<,>,==,!="). | Yes | String |
Example:
- To verify if the first date is less than (comes before) the second date use the operation "<"
- To verify if the first date is greater than (comes after) the second date use the operation ">"
- To verify if the dates are equal use the operation "=="
- To verify if the dates are not equal use the operation "!="
The result of this action shall be true or false depending on the operation performed.
VerifyDates "12-Jun-2008" "dd-MMM-yyyy" "04/12/2008" "dd/MM/yyyy" "<"
ChangeDateAndStore
This action modifies the day/month/year by the number specified by the user. The resulting date shall be stored in a key in the same format as the input date.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
date | The date which needs to be changed | Yes | String |
format | The format of the date given by the user. | Yes | String |
dayValue | Value by which the day needs to increased/decreased. E.g.: "1","-3" | Yes | String |
monthValue | Value by which the month needs to increased/decreased. E.g.: "0","-3" | Yes | String |
yearValue | Value by which the year needs to increased/decreased. E.g.: "1","-3" | Yes | String |
key | Variable in which the modified date is stored | Yes | String |
Example:
To change date from 1st jan 2007 to 15 feb 2007 user can use 2 ways
- Increment only the day value
dayValue = 45, monthValue = 0 , yearValue = 0
E.g.- ChangeDateAndStore "01-01-2007" "dd-MM-yyyy" "45" "0" "0" "key" - Increment the complete date
dayValue = 14, monthValue = 1 , yearValue = 0
E.g.- ChangeDateAndStore "01-01-2007" "dd-MM-yyyy" "14" "1" "0" "key"
Hence the user can either give the exact end date or can give the no of days, months or years by which the date needs to be changed.
CalculateDifferenceInDatesAndStore
This action calculates the difference in days between two dates and stores the difference in a key.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
startDate | The start date given by the user. | Yes | String |
startformat | The format of the start date given by the user. | Yes | String |
endDate | The end date given by the user. | Yes | String |
endFormat | The format of the end date. | Yes | String |
key | Variable in which the difference in days is stored. | Yes | String |
Example:
CalculateDifferenceInDatesAndStore "24-Jan-2007" "dd-MMM-yyyy" "01/26/2007" "MM/dd/yyyy "diffKey"
VerifyDialogExistence
This action verifies if any dialog of the type alert/prompt/confirmation exists on the browser.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
existence | Value of this parameter can be true or false. If True – checks if the alert is present | Yes | String |
Example:
VerifyDialogExistence "True"
AnswerForNextDialog
This action sets the input as the answer for the next prompt. After setting the answer, webdriver by default may cancel the prompt. So for the input to be accepted in the prompt, this action should be used followed by the action "AcceptDialog"
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
answer | The input that to be set in the next prompt | Yes | String |
Example:
AnswerForNextDialog "hello"
AcceptDialog
This action clicks the OK button on the alert/prompt/confirmation pop up.
This action does not have any parameters.
Example:
AcceptDialog
DismissDialog
This action cancels the alert/prompt/confirmation pop up.
This action does not have any parameters.
Example:
DismissDialog
StoreDialogText
This action stores the message on the alert/prompt/confirmation pop up in a key.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
key | The variable in which the pop up message is to be stored. | Yes | String |
Example:
StoreDialogText "message"
ExecuteFile
This action executes the batch file specifies by the user.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
batchFile | The absolute path of the file to be executed. Value with whitespace in this parameter is not accepted. | Yes | String |
Example:
ExecuteFile "C:\test\batchfile1.bat"
AttachFile
This action sets a file path in the file object type in html.
This action is applicable only for desktop web application.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
fileInputlocator | The locator of the input box where the file is to be selected. | Yes | String |
locatorType | The type of locator used for the locator of the file input object. | Yes | String |
filePath | The absolute path of the file. It is assumed that the file exists. | Yes | String |
Example:
AttachFile "fileBox" "id" "c:/Folder/test.txt"
ExecuteQueryAndStoreInFile
This action executes data manipulation queries like select and stores the result into a file.
The file types supported are xml, xmls and txt. The valid extensions are
- For text file - .txt
- For xml file- .xml
- For excel file- .xls
The databases tested are my sql 5.1, Oracle 10g,MS Access, SQL Server 2008.
Connection to different databases
1. Mysql:
a. Driver - "com.mysql.jdbc.Driver"
b. Connection url - jdbc:mysql://localhost:portNo/databasename?useUnicode=true&characterEncoding=utf8"
i. Databasename -is the mysql database to which the user wishes to connect
2. Oracle:
a. Driver - "oracle.jdbc.driver.OracleDriver"
b. Connection url - "jdbc:oracle:thin:@servername or ip:portNo:Databasename"
i. Servername -is the name of the server .If the server is on local system, the server name is localhost. If the server is on remote system, the ip address of the remote server can be used.
ii. portNo – is the port which shall listen the database connections. The default port for oracle is 1521. If the user has configured a specific port for listening, then that port number should be used here.
iii. Databasename is the oracle database to which the user wishes to connect
3. SQLServer:
a. Driver - "com.microsoft.sqlserver.jdbc.SQLServerDriver"
b. Connection url - "jdbc:sqlserver://servername/ip:port;database=databasename;"
i. Servername -is the name of the server .If the server is on local system, the server name is localhost. If the server is on remote system, the ip address of the remote server can be used.
ii. portNo – is the port which shall listen the database connections. The default port for oracle is 1433. If the user has configured a specific port for listening, then that port number should be used here.
iii. Databasename is the sql server database to which the user wishes to connect
4. MSAccess using dsn:
a. Driver - "sun.jdbc.odbc.JdbcOdbcDriver"
b. Connection url - "jdbc:odbc:dsn_name
i. dsn_name -is the name of the dsn configured on the system . If multiple users are accessing the same dsn, then it needs to be configured on a shared path instead of local system path.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
Driver | Enter the driver for the database. | Yes | String |
url | Enter the connection string to connect to the database. | Yes | String |
username | Enter the user name to connect to the database. | Yes | String |
Password | Enter the password to connect to the database. | Yes | String |
Query | Enter the ddl query that needs to be executed. | Yes | String |
File | Enter the absolute path of the file in which the results of the database query need to be stored. | Yes | String |
Example
ExecuteQueryAndStoreInFile "oracle.jdbc.driver.OracleDriver" "jdbc:oracle:thin:@localhost:1521:orcl" "scott" "tiger" "select * from test_table where id = 100" "C:\DBResults\XML\ORACLE\Result.xml"
ExecutQueryAndStoreInKey
This action executes data definitions queries like update, delete and stores the result into a key.
Connection to different databases
1. Mysql:
a. Driver - "com.mysql.jdbc.Driver"
b. Connection url - jdbc:mysql://localhost:portNo/databasename?useUnicode=true&characterEncoding=utf8"
i. Databasename -is the mysql database to which the user wishes to connect
2. Oracle:
a. Driver - "oracle.jdbc.driver.OracleDriver"
b. Connection url - "jdbc:oracle:thin:@servername or ip:portNo:Databasename"
i. Servername -is the name of the server .If the server is on local system, the server name is localhost. If the server is on remote system, the ip address of the remote server can be used.
ii. portNo – is the port which shall listen the database connections. The default port for oracle is 1521. If the user has configured a specific port for listening, then that port number should be used here.
iii. Databasename is the oracle database to which the user wishes to connect
3. SQLServer:
a. Driver - "com.microsoft.sqlserver.jdbc.SQLServerDriver"
b. Connection url - "jdbc:sqlserver://servername/ip:port;database=databasename;"
i. Servername -is the name of the server .If the server is on local system, the server name is localhost. If the server is on remote system, the ip address of the remote server can be used.
ii. portNo – is the port which shall listen the database connections. The default port for oracle is 1433. If the user has configured a specific port for listening, then that port number should be used here.
iii. Databasename is the sql server database to which the user wishes to connect
4. MSAccess using dsn:
a. Driver - "sun.jdbc.odbc.JdbcOdbcDriver"
b. Connection url - "jdbc:odbc:dsn_name
i. dsn_name -is the name of the dsn configured on the system . If multiple users are accessing the same dsn, then it needs to be configured on a shared path instead of local system path.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
Driver | Enter the driver for the database. | Yes | String |
url | Enter the connection string to connect to the database. | Yes | String |
username | Enter the user name to connect to the database. | Yes | String |
Password | Enter the password to connect to the database. | Yes | String |
Query | Enter the dml query that needs to be executed. | Yes | String |
key | Enter the key in which the result of the database query need to be stored. | Yes | String |
Example:
ExecuteQueryAndStoreInKey "oracle.jdbc.driver.OracleDriver" "jdbc:oracle:thin:@localhost:1521:orcl" "scott" "tiger" "delete from test_table where id = 100" "Resultkey"
CompareTabularResults
This action compares the database results in two files and displays only the difference in an MSExcel or a kingsoft excel sheet. A link is generated in the log file. On clicking on the link, the excel sheet opens in which the difference in the data is displayed. This action compares the following file types which contain the DB results. These files contain the results after executing the queries using the actions "ExecuteQueryAndStoreInFile" or "StoreTableData". The file extension types are : txt, xml and xls.
- text and text
- text and excel
- text and xml
- xml and xml
- xml and excel
- excel and excel
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
firstFile | The complete location of the first file to be compared | Yes | String |
secondFile | The complete location of the second file to be compared | Yes | String |
resultFileType | The file type in which the difference between the two results need to be displayed. The files types supported are | NO | "MSExcel" |
Example
CompareTabularResults "C:\DBResults\XML\ORACLE\Result.xml" "C:\DBResults\Excel\ORACLE\Result.xls" "MSExcel"
ComputeExpression
This action evaluates mathematical, relational, logical operations and stores the result in a key.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
expression | The expression to be evaluated | Yes | String |
strKey | The key on which the result of the evaluation need to be stored | Yes | String |
Example:
Mathematical Expression
ComputeExpression "24*2+4" "result"
Example:
Relational Expression
ComputeExpression "10*2<30" result"
Example:
Logical Expression
ComputeExpression "10*2+1>19&10*2+2<23'" "result"
CompareArray
This action compares two arrays for equality.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
firstArray | The first array whose items are separate by carat (^) operator. | NO | Array |
secondArray | The second array whose items are separate by carat (^) operator. | NO | Array |
match | This parameter specifies the type of comparison to be done.It can be one of the following | NO | Exact |
Example :
CompareArray "1^2^3^4" "1^2^3^4" "exact"
CompareArray "1^2^3^4^5^6" "2^1^3^4" "partial"
StoreWindowHandle
This action fetches the handle (identifier) of a window and stores in a key. This key can the be used in action like SelectPage and ClosePopupBrowser to work on the specific page. This action can be used when the name of the window on which user needs to work on is not known. This action will have to be used immediately after every action which results in opening a new window. Only then user will be able to work on the new opened window. Thus, immediately after every action which opens a new window, this action will have to be used in order to fetch the identifier of the new window.
For every window in the application, this action will have to be used.
For example: If the windows have the following order
Login Window------New child window 2 ------- then this action will have to be used for all the 3 windows.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
strKey | The key on which the handle of the window need to be stored | Yes | String |
Example :
Object1 Click
StoreWindowHandles "new window"
SelectPage "{new window}"
EditObjectOnNewPage Set Testing
In the above example, on clicking on object1 a new window is opened on which actions need to be performed.
Use the action StoreWindowHandles to fetch the handle of the new window opened. Use the SelectPage action to select the window. Then user can work on an object present on the new page.
Also, when the action OpenUrl is used, user will have to store the handle on this main application window.
Example:
OpenUrl "http://www.google.com"
StoreWindowHandle "mainapplicationWindow"
ExitTask
If this action in used, execution of next step is skipped and execution continues with the next task.
This action is not available for test case level step.
This action does nothave any parameters.
Example:
ExitTask
ExitTCIteration
If this action is used, execution will skip the current iteration of test case and execute next iteration. In case of a single TC Iteration the test case execution will stop.
This action does not have any parameters.
Example:
ExitTCIteration
ExitSuite
If this action is used, execution will stop and no further test cases will be executed.
This action does not have any parameters.
Example:
ExitSuite
VerifyLinkOnPage
This action verifies if the link is present on the page.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
Link | The locator of the link to be verified. This is the inner text of the link. | Yes | String |
Example:
VerifyLinkOnPage "AdvancedSearch"
DragAndDropToObject
This action drags the specified object and drops it in the position of another specified object.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
dragLocator | Locator of an element to be dragged. | Yes | String |
dragLocatorType | Locator type of the element to be dragged. | Yes | String |
dropToLocator | Locator of an element whose location (i.e., whose center-most pixel) will be the point where dragLocator is dropped. | Yes | String |
dropToLocatorType | Locator type of the element where the element will be dragged. | Yes | String |
Example:
DragAndDropToObject "//div/img[@alt='abx']" "xpath" "abc" "id"
WindowsAuthenticationLogin
Using this action, the user can login into applications that have basic authentication window. This action supports Internet Explorer and Firefox browsers only. Selenium does not support such window by default.
This action is applicable only for desktop web applications.
This action use AutoIT to interact with the authentication windows. It Mandatory to install AutoIT to run this action. All the actions dependent on AutoIT are sensitive to the object focus.
This action requires AutoIt to be installed.
- Install AutoIT from the location http://www.autoitscript.com/site/autoit/downloads/
- Click on Download AutoIt v3.
- Choose full installation.
- After the set up is completed, AutoIT installation path should be set against the Qualitia's configfile key "AutoITPath"
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
url | The url of the application to be navigated | Yes | String |
Username | The correct/valid username to logon | Yes | String |
Password | The correct/valid password to logon | Yes | String |
Example:
WindowsAuthenticationLogin "http://www.abc.com" "testuser1" "passwduser1"
This action is tested on IE9 and FF23
StoreChildCount
This action stores the child count for the given locator. The action counts the last element in the xpath which are placed inside the parent hierarchy. The child elements to be counted can be immediate children/descendants. The user should pass relevant xpath to achieve children/descendants count.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
locator | The xpath of the object whose child count is to be retrieved. It is mandatory that the input should be an xpath locator. This action will fail for any other locator type. | Yes | String |
key | The variable/key in which the count will be stored. | Yes | String |
Example
StoreChildCount "//table[@id='12']/tbody/tr/td/div" "variable"
DownloadFile
This action clicks the link/element which will populate a download window, and then downloads the file. The action supports and is explicitly tested for FF3, IE7, IE8. The action will not wait till the file is downloaded, this have to be handle externally by the user.
This action requires AutoIt to be installed.
- Install AutoIT from the location http://www.autoitscript.com/site/autoit/downloads/
- Click on Download AutoIt v3.
- Choose full installation.
- After the set up is completed, AutoIT installation path should be set against the Qualitia's configfile key "AutoITPath"
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
locator | The download link/element which is to be click. | Yes | String |
| The type of locator used for the locator of the file input object. This could be Id, xpath, name, css class | Yes | String |
folderPath | The path where the file is to be download. Please check Table 1 "Parameter Mandate" to validate in the situation where this parameter will be mandatory. In case the parameter Mandatory; the user should take care that the folder path exists. The action does not validates whether the folder exist | Yes | String |
filename | The filename of the downloadable file, to be given incase the user requires to give specific name and not depend on the default name of the file. In case, the file already exist, similar window like below will appear. Such windows are not handled by the action. Incase, the user does not provide this data, the action will pick the default file name available while download. This parameter is not mandatory | NO | String |
Expand |
---|
Example
DownloadFile "//a[@id='Download']" "xpath" "D:\Download" "xyz.zip"
Note:This action is tested on IE8,FF& chrome. This action is not supported on IE9,IE10,chrome<16.
WaitForPageToLoad
This actions waits for the page to load for the specified number of seconds. If the wait time is "" then the wait time is the "SyncTime" time set on the Qualitia Configuration (Execution) window.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
waitTime | The number of seconds to wait | Yes | String |
Example:
WaitForPageToLoad "10"
In Webdriver we wait for the object to come in ready state. If it is in ready state it is assumed that the page is loaded completely and Webdriver will stop waiting. The condition to wait till the object is in ready state and assume that the page is loaded could however not work as expected at all times.
RefreshPage
This action simulates the user clicking the Refresh button of the current page selected.
Example:
RefreshPage
DeleteCookiesOnCurrentDomain
This action deletes all the cookies that are visible to the current domain.
If the page is www.google.co.in and the user runs the above action, then all the cookies created by www.google.co.in will be deleted.
If there is a link in www.google.co.in and on clicking, it navigates to www.apple.com.
Again , when the user runs the above action, then all the cookies create by www.apple.com will be deleted.
Reiterating, to delete www.google.co.in cookies, the application needs to be in www.google.co.in domain.
This action will automatically, pick up the current domain and will delete cookies of that domain. The user just needs to make sure that he runs this action in the domain for which the cookies are to be deleted.
Note: In HTML, due to security reasons, the only website that can read/delete a cookie is the one that creates it.
Example:
DeleteCookiesOnCurrentDomain
AcceptDialogAndStoreMessage
This action clicks the OK button on the dialog appeared on the Webpage and stores the message in the key.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
Key | Enter the Key in whcich the message will be stored. | Yes | String |
Example:
AcceptDialogAndStoreMessage "AlertMessage"
WriteToBuildProperty
This action writes a user defined property along with its value to qer.properties file. This customized information can be used in email notifications sent by Jenkins provided all the required Email specific settings are done there in Jenkins.
Input Parameters:
Parameter Name | Parameter Description | Mandatory | Data Type |
---|---|---|---|
propertyName | Property name to be written in qer.properties file | Yes | String |
propertyValue | Property value to be written in qer.properties file | Yes | String |
Example:
WriteToBuildProperty "propertyName" "propertyValue"