AutonomIQ Supported NLP commands
NLP supports human understandable english, here is a general primer:
Action Field
- [open/launch/go to/navigate] website [url]
open website https://www.google.com
launch website https://www.yahoo.com
go to website https://www.linkedin.com
navigate website https://www.github.com
Those commands are exist for access given website
address only
note that above Instruction could be separated into 2 part which indicating Action field
and Data field
each
- wait for {number} seconds
wait for 1 secs
wait for 5 seconds
wait 5 secs
wait for
command can be used when you want to control the waiting time manually
- Wait until element is [visible/exists/not visible]
Wait until _xpath{"//p[@class='productNumbers']"} is visible
Wait until _xpath{"//p[@class='productNumbers']"} is not visible
Wait until _xpath{"//p[@class='productNumbers']"} is exists
Our engine will wait until given element is coming up within DOM
- Wait until element is [disabled/enabled]
Wait until _xpath{"//p[@class='productNumbers'"} is disabled
Wait until _xpath{"//p[@class='productNumbers'"} is enabled
Our engine can check the status of element which could be switched like Switch
HTML tag
- Verify element is element
Verify _css{"body:nth-child(6) div:nth-child(2) > div.App"} is _xpath{"//div[@class='App']"}
Verify _xpath{"//div[@class='App']"} is _css{"body:nth-child(6) div:nth-child(2) > div.App"}
Our engine is able to compare the 2 given element by using above Verify
command
- Verify element [contains/begins with/ends with] [text]
Verify _xpath{"//div[@class='App']"} contains 'sample'
Verify _xpath{"//div[@class='App']"} begins with 'sample'
Verify _xpath{"//div[@class='App']"} ends with 'sample'
Our engine is able to check whether given element has specific text if the a given element has text
- Verify element [contains/begins with/ends with] [text] [or] [contains/begins with/ends with]
Verify _xpath{"//div[@class='App']"} begins with 'auto' or ends with 'nomiq'
Text include verification syntax like previous command could be implemented continuously with or
syntax
- Verify the current url is [url]
Verify the current url is 'https://www.test.com/'
Check the url which currently in with browser whether is same with given url
- Verify new [window/tab/alert/pop up/pop-up] exists
Verify new window exists
Verify new tab exists
Verify new alert exists
Verify new pop up exists
Verify new pop-up exists
Check if new window
or alert
or tab
or pop up
is coming up upon existing window
- Verify element [exist/exists]
Verify _xpath{"//div[@class='App']"} exist
Verify _xpath{"//div[@class='App']"} exists
Check whether given element is exist on current DOM or not
- Verify element [does not/doesnt/doesn't] [exists/exist]
Verify _xpath{"//div[@class='App']"} does not exists
Verify _xpath{"//div[@class='App']"} `doesn't` exists
Verify _xpath{"//div[@class='App']"} doesnt exists
Check whether given element is exist on current DOM or not
- Switch to [first/second/1/1st/2/2nd/3/3rd/original/new] [tab/window]
Switch to first tab
Switch to second tab
Switch to 1 tab
Switch to 1st tab
Switch to 2 tab
Switch to 2nd tab
Switch to 3 tab
Switch to 3rd tab
Switch to original tab
Switch to new tab
Our engine can switch the context of window if the new tab
or window
is coming up
- Switch to [alert/prompt/confirm] and click on [ok/accept/leave/cancel/stay]
Switch to alert and click on ok
Switch to prompt and click on cancel
Switch to confirm and click on accept
Our engine can switch the context of window and also do an Actions that prompt
has
- Switch to [alert/prompt] box and enter [text] and click on [ok/accept/leave/cancel/stay]
Switch to alert box and enter 'first name' and click on cancel
Our engine can do continuous Action regarding what procedure the prompt window has
- Use custom code from [FileName]
Use custom code from MyCustomCode
FileName field is going to filled with file name without extension name like .java
note that the file should be stored into AutonomiQ minio server prior to use in Test case
- REST API calls
Curl syntax is support for REST api calls and results can be saved to variables
_api{-X "PUT"/"GET"/"POST" -d ${data} -H "{"Content-Type": "application/json"}" "https://google.com"}
save _api{-X "PUT" -d ${data} -H "{"Content-Type": "application/json"}" "https://google.com"} as "result" will store the result as variable result (accessible as $result)
Our engine is able to do Action with not only element text
but also element _xpath
or element _css
- [click/press] [on/at] [element]
Click on 'Submit'
Press on 'Cancel'
Click at 'Submit'
Press at 'Cancel'
Our engine is able to do Action with not only element text
but also element _xpath
or element _css
- [click/press] [on/at] [radio/checkbox] next to [element text]
Click on radio next to 'California'
Click at checkout next to 'California'
Press on radio next to 'California'
Press at checkout next to 'California'
Our engine can verify the radio
or checkbox
which located beside text element like Below
- Select/choose [element text]
Select 'California'
Choose 'California'
This command could be implemented when the DOM has Select
tag for select one element from various option
- Upload file to [field]
Upload file to 'Upload xlsx file'
This command could be implemented when the website require file uploading step in order to testing functionality note that this command require artifact file which supposed to be uploaded as file by this command
- Hover [over/on] element
Hover over 'user name'
Hover on 'user name'
This command is needed when user need to check the elements when we hover over the cursor on given element not by Click
- [Enter/type in/fill in/set] text in [field]
Enter 'John Doe' in user name
Type in 'John Doe' in user name
Fill in 'John Doe' in user name
Set 'John Doe' in user name
Our engine is able to find the element by text in order to do Action
on that element
- Set screen/window size -
*
Set screen size - 1024 * 768
This command can change the size of window, especially useful when user's website has different element variation when change the resolution
- Create random variable [var_name]
Create random variable password
This command is going to generate random alphanumeric string for checking field's restriction like password
field
- Save element as [variable_name]
Save _xpath{"//div[@class='App']"} as first_value
This command is going to store the given element's data if given element has value on it note that this command can store multiple value which separated with comma in one variable from table element
- Save [element text] as [variable_name]
Save user name as user_id
Save
command also able to store the value from text based element
- [action] and save it as [variable_name]
Enter username and save it as user_id
This command is going to enable to reuse the same value as data into another step by storing as variable
- begin block [block_name]
- [some instructions]
- end block
begin block create_value
Create random variable password
end block
Saved block could be used with calling the name of block as same as saved variable in this case ${create_value}
- using for loop
- run ${block name} for [number] times
- run ${block name} for all rows
using for loop
run ${click_button} for 5 times
using for loop
run ${save_value} for all rows
This command is useful when user should check same action but multiple time at one time This will shorten the length of test step obviously
Data Field
- ${variable_name} to reference a previously saved variable
- {Today,
}
{Today, dd/mm/yy}
{Today, mm/dd/yy}
{Today, yy/mm/dd}
This format is enable to get today's date in the specified format note that you can use yyyy format rather than yy like below {Today, MM/dd/yyyy}
- {Today + 2{dd}, MM/dd/yyyy}
{Today + 2{dd}, MM/dd/yyyy}
As of today (11/24/2018)
, expected result is (11/26/2018)
- {Today - 2{dd}, MM/dd/yyyy}
{Today - 2{dd}, MM/dd/yyyy}
As of today (11/24/2018)
, expected result is (11/22/2018)
- {Today - 1{mm}, MM/dd/yyyy}
{Today - 1{mm}, MM/dd/yyyy}
As of today (11/24/2018)
, expected result is (10/24/2018)
- {Today - 1{yy}, MM/dd/yyyy}
{Today - 1{yy}, MM/dd/yyyy}
As of today (11/24/2018)
, expected result is (11/24/2017)
- {Today + 1{yy}, MM/dd/yyyy}
{Today + 1{yy}, MM/dd/yyyy}
As of today (11/24/2018)
, expected result is (11/24/2019)