Glossary
<click>
Added version: V.1.0, V.2.0
Web UI, Mobile native, Mobile browser
Description
Command to perform click command.
Parameters
required: locator, comment
optional: method, highlight, threshold, condition, locatorStartegy
Example:
<click comment="Your comment" locator="name.locatorId"/><click comment="Click on 'What We Do' button" method="js" locator="(.//span[text()= 'Testlum'])[1]" locatorStrategy="xpath" /><input>
added version V.1.0, V.2.0
Web UI, Mobile, Mobile Browser
Description
Command to insert a value into a field.
Parameters
required: comment, locator, value
optional: highlight, threshold, condition
Example:
<input comment="Your comment" locator="name.locatorId" value="New"/><assert>
added version V.1.0, V.2.0
Web UI, Mobile, Mobile Browser
Description
Command to check whether data is entered or element is displayed on the page.
Parameters
choose: attribute, title
required: comment, locator, name, content
optional: threshold, condition
Example:
<assert comment="Your comment"> <attribute comment="Your comment" name="type" locator="file.locatorId"> <content>submit</content> </attribute></assert><clear>
added version V.1.0, V.2.0
Web UI, Mobile, Mobile Browser
Description
Command to clear data from field.
Parameters
required: comment, locator, highlight
optional: threshold, condition
Example:
<clear comment="Your comment" locator="name.locatorId" highlight="true"/><navigate>
added version V.1.0, V.2.0
Web UI, Mobile browser, Mobile
Description
Command to navigate to a specific direction, previous direction or reload the page.
Parameters
required: comment, command
optional: path, threshold, condition
Example:
<navigate comment="Your comment" command="to" path="Your settings"/><navigate comment="Your comment" command="reload"/><navigate comment="Your comment" command="back"/><image>
added version V.2.0
WEB UI, Mobile browser, Mobile
Description
Command to take a screenshot of the current page and compare it to the expected result.
Parameters
choose: compareWithFullScreen, compareWith
required: comment, file, locatorId (if compareWith is chosen)
optional: threshold, condition, highlightDifference
Example:
<image comment="Compare full screen" file="compare1.png" highlightDifference="true"> <compareWithFullScreen/></image><image comment="Your image" file="name.png" highlightDifference="true"> <compareWith locator="locatorId.name"/></image><scroll>
added version V.1.0, V.2.0
Web UI, Mobile browser, Mobile
Description
Command to perform scroll action.
Parameters
required: comment, type, value
optional: locator, direction, measure, threshold, condition
Example:
<scroll comment="Your comment" value="200" direction="up" measure="percent" type="page"/><scrollTo>
added version V.1.0, V.2.0
Web UI, Mobile browser, Mobile
Description
Command to perform scroll to element action.
Parameters
required: comment, locator
optional: threshold, condition
Example:
<scrollTo comment="Your comment" locator="locatorId.name"/><dropDown>
added version V.1.0, V.2.0
Web UI, Mobile browser
Description
Command to interact with drop-down menu.
Parameters
choose: oneValue, allValues
required: comment, locator, type (by value if oneValue selected)
optional: threshold, condition
Example:
<dropDown comment="Your comment" locator="locatorId.name"> <oneValue type="select" by="value" value="CA"/></dropDown><javascript>
added version V.1.0, V.2.0
Web UI, Mobile browser
Description
Command to execute user's custom javascript commands.
Parameters
required: comment, file
optional: threshold, condition
Example
<javascript comment="Your comment" file="function.js"/><closeTab>
added version V.2.0
Web UI, Mobile browser
Description
Command to close current tab.
Parameters
required: comment
optional: tabIndex, threshold, condition
Example
<closeTab comment="Your comment" tabIndex="Your index"/><hovers>
added version V.2.0
Web UI, Mobile browser
Description
Command to perform hover action.
Parameters
required: comment, locator
optional: threshold, condition, moveToEmptySpace
Example
<hovers comment="Your comment"> <hover comment="Your comment" locator="locatorId.name"/> <hover comment="Your comment" locator="locatorId.name"/></hovers><switchToFrame>
added version V.2.0
Web UI, Mobile browser
Description
Command to switch between frames.
Parameters
choose: all UI commands
required: comment, locator
optional: threshold, condition
Example
<switchToFrame comment="Your comment" locator="fileName.locatorId"> <.../></switchToFrame><hotKey>
added version V.2.0
Web UI
Description
Command to use hotkey command.
Parameters
choose: copy, paste, cut, highlight, tab, enter, escape, space, backSpace
required: comment
optional: threshold, condition, locator
Example
<hotKey comment="Your comment"> <tab comment="Press tab "/></hotKey><wait>
added version V.1.0
General
Description
Command that pauses the passage of the scenario.
required: comment, time
optional: unit, threshold, condition
Example
<wait comment="Your comment" time="your time"/><dragAndDrop>
added version V.2.0
Web UI, Mobile
Description
Command to perform drag and drop action.
Parameters
choose: fromLocator, filePath
required: comment, toLocator
optional: threshold, condition
Example
<dragAndDrop comment="Your comment" toLocator="locatorId.name"> <filePath>Your path.jpg</filePath></dragAndDrop><dragAndDrop comment="Your comment" toLocator="locatorId.name"> <fromLocator>name.locatorId</fromLocator></dragAndDrop><refresh>
added version V.2.0
Mobile
Description
Command to refresh the app. It implements "swipe to refresh" functionality.
required: comment
optional: threshold, condition
Example
<refresh comment="Your comment"/><swipe>
added version V.2.0
Mobile
Description
Command to perform swipe action.
Parameters
required: comment, type, direction
optional: percent, condition, quantity locator, threshold
Example
<swipe comment="Your comment" direction="right" type="element" percent="30" locator="locatorId.name"/><webView>
added version V.2.0
Mobile
Description
Command to switch to webView in native app.
Parameters
required: comment
optional: threshold, condition
Example
<webView comment="Your comment"> <wait comment="Your comment" time="3"/> <input comment="Your comment" locator="locatorId.name" value="test"/></webView><var>
added version V.1.0,V.2.0
WEB UI, General
Description
Command to create variable.
Parameters
choose: path, file, constant, expression, sql, generate, dom, element, cookie, url
required: comment, name
optional: threshold, condition
Example
<var comment="Created token var" name="TOKEN"> <path value="$.[0].content.[0].token"/></var><http>
added version V.1.0,V.2.0
General
Description
The HTTP request structure has all the basic features of API testing tools.
Parameters
choose:
- GET
- POST
- PUT
- PATCH
- DELETE
- OPTIONS
- HEAD
- TRACE
required: comment, alias
optional: threshold, condition
Example
<http comment="Your comment" alias="API"> - action description + alias API <post endpoint="/name/v1/name"> - indication of the type of request + used endpoint <response code="200" file="expected_1.json"/> - response code + expected result <body> <from file="request_1.json"/> - transfer of the request body </body> </post></http><auth>
added version V.1.0,V.2.0
WEB UI
Description
Allows you to register in the test script.
Parameters
required: comment, apiAlias, credentials, loginEndpoint
optional: threshold, condition
Example
<auth comment="" apiAlias="SHOPIZER" credentials="jwt_user.json" loginEndpoint="/api/v1/name/name"> <http comment="Your comment" alias="SHOPIZER"> <get endpoint="/api/v1/name/name"> <response code="200" file="expected_3.json"/> </get> </http></auth><websocket>
added version V.1.0,V.2.0
WEB UI
Description
Allows you to test with and without a stomp.
Parameters
Required:
- comment
- alias
- disconnect
Choice:
Stomp:
Subscribe:
- Comment
- Topic
Send:
Choice:
- Message
- File
Receive(may be skipped)
Comment
Disconnect
Receive:
Choice:
- Message
- File
Comment
Topic
Count
timeoutMillis
Choice:
- Send
Example
<websocket comment="Your comment" alias="TESTER" disconnect="true"> <stomp> <receive comment="Your comment" topic="/topic/test"> <message>[]</message> </receive> <send comment="Your commentt" endpoint="/app/test"> <file>body_1.json</file> </send> <receive comment="Your comment" topic="/topic/test" count="2" timeoutMillis="500"> <file>expected_13.json</file> </receive> <receive comment="Your comment" topic="/topic/test"> <message>[]</message> </receive> </stomp></websocket><websocket comment="Your comment" alias="Name" disconnect="false"> <receive comment="Your comment" count="1" timeoutMillis="1000"> <message> [{ "connectionID": "p(any)", "event" : "systemStatus", "status" : "online", "version" : "your version" }] </message> </receive> <receive comment="Your comment"> <message>[]</message> </receive> <send comment="Send 'ping' message"> <message> { "event": "ping", "reqid": 42 } </message> </send> <receive comment="Your comment" count="1" timeoutMillis="1000"> <message> [{ "event": "pong", "reqid": 42 }] </message> </receive> <receive comment="Your comment"> <message>[]</message> </receive></websocket><postgres>
added version V.1.0,V.2.0
WEB UI
Description
Connecting to a database and modifying it with a test.
Parameters
Required:
- comment
- alias
- file – file with expected result
Required filed:
- Query (unlimited usage min 1)
Example
<postgres comment="Execute mixed postgres commands (SELECT/INSERT/DELETE).Expect to see content from expected_2" alias="playground_db" file="expected_3.json"> <query>SELECT * FROM t_user</query> <query>INSERT INTO t_user (id, username, email, email_verified, first_name, last_name, salt, password, is_active, last_login, locked, locked_cause, created_at, created_by,deleted_at, deleted_by) VALUES (9, 'testuser9', 'email9@gmail.com', true, 'testuser9', 'testuser9', '', true, current_date + 1, false, null, '2021-09-29 18:06:16.000000', null, null, null); </query> <query>SELECT id FROM t_user WHERE id=9</query> <query>DELETE FROM t_user WHERE 1=1</query> <query>SELECT * FROM t_user</query> </postgres><clickhouse>
added version V.1.0,V.2.0
WEB UI
Description
Allows you to work with mixed queries in the test.
Parameters
Required params:
- comment
- alias
- file – file with expected result
Required filed:
- Query (unlimited usage min 1)
Example
<clickhouse comment="Execute mixed postgres commands (SELECT/INSERT/DELETE).Expect to see content from expected_2" alias="your alias" file="expected_2.json"> <query>SELECT * FROM t_user ORDER BY id</query> <query> INSERT INTO t_user (*) VALUES (9, 'testuser9', 'email9@gmail.com', 1, 'testuser9', 'testuser9', 1, null, 0, null, '2021-09-29 18:06:16.000000', null, null, null) </query> <query>SELECT id FROM t_user WHERE id=9</query> <query>ALTER TABLE t_user DELETE WHERE 1=1</query> <query>SELECT * FROM t_user ORDER BY id</query></clickhouse><mysql>
added version V.1.0,V.2.0
WEB UI
Description
Writing tests with an open source relational database management system (RDBMS).
Parameters
Required params:
- comment
- alias
- file – file with expected result
Required filed:
- Query (unlimited usage min 1)
Example
<mysql comment="Execute mixed mysql commands (SELECT/INSERT/DELETE).Expect to see content from expected_2" alias="playground_db" file="expected_3.json"> <query>SELECT * FROM news</query> <query>INSERT INTO news (id, title, text, logo, slug, is_published, created_at, updated_at, published_at) VALUES (11,'title11', 'text11', 'logo11', 'slug11', true, '2020-05-22 09:30:00', '2020-05-22 09:30:00', '2020-05-22 09:30:00') </query> <query>SELECT id FROM news WHERE id=11</query> <query>DELETE FROM news WHERE 1=1</query> <query>SELECT * FROM news</query> </mysql><oracle>
added version V.1.0,V.2.0
WEB UI
Description
Writing texts with the help of the database.
Parameters
Required params:
- comment
- alias
- file – file with expected result
Required filed:
- Query (unlimited usage min 1)
Example
<oracle comment="Execute mixed oracle commands (SELECT/INSERT/DELETE). Expect to see content from expected_2" alias="oracle-one" file="expected_2.json"> <query>SELECT * FROM news</query> <query>INSERT INTO news (id, title, text, logo, slug, is_published, created_at, updated_at, published_at) VALUES (11,'title11', 'text11', 'logo11', 'slug11', 1, TO_TIMESTAMP('2020-05-22 09:30:00', 'YYYY-MM-DD HH24:MI:SS'), TO_TIMESTAMP('2020-05-22 09:30:00', 'YYYY-MM-DD HH24:MI:SS'), TO_TIMESTAMP('2020-05-22 09:30:00', 'YYYY-MM-DD HH24:MI:SS')) </query> <query>SELECT id FROM news WHERE id=11</query> <query>DELETE FROM news WHERE 1=1</query> <query>SELECT * FROM news</query></oracle><redis>
added version V.1.0,V.2.0
WEB UI
Description
In tests, you can use the database repository.
Parameters
Required params:
- comment
- alias
- file – file with expected result
Required filed:
- Query (unlimited usage min 1)
Example
<redis comment="Execute the command as get in redis by key. Expect to see content from step_2" alias="redis" file="expected_2.json"> <query>GET # jsonDataFirst</query> <query>GET # jsonDataSecond</query> <query>GET # jsonDataThird</query> <query>GET # jsonDataFourth</query> <query>GET # jsonDataFifth</query> <query>GET # jsonDataSixth</query> <query>GET # simpleDataFirst</query> <query>GET # simpleDataSecond</query> <query>GET # simpleDataThird</query></redis><mongo>
added version V.1.0,V.2.0
WEB UI
Description
Database can be used in tests.
Parameters
Required params:
- comment
- alias
- file – file with expected result
Required filed:
- Query (unlimited usage min 1)
Example
<mongo comment="Execute mixed mongodb commands (insert/find/update/delete/find all)" alias="database_one" file="expected_2.json"> <query>{insert : 'test', documents : [{_id: 1, item: 'pencil', qty: 50, type: 'no.2'}, { _id: 12, item: 'book', qty: 40}]} </query> <query>{find: 'test', filter: {'item': 'pencil'}}</query> <query>{update: 'test', updates: [{q: {_id: 12}, u: {qty: 35}}]}</query> <query>{delete: 'test', deletes: [{q: {_id: 1}, limit: 1}]}</query> <query>{find: 'test'}</query></mongo><s3>
added version V.1.0,V.2.0
WEB UI
Description
Cloud storage can be used in tests.
Parameters
Required params:
- Choice:
- upload
- download
Required params:
- comment
- alias
- key
Example
<s3 comment="Compare json file from bucket with expected file" alias="bucketone" key="/com/knubisoft/integration-testing/expected_2.json"> <download>expected_2.json</download></s3><s3 comment="Upload jpeg file to the bucket" alias="bucketone" key="/com/knubisoft/integration-testing/expected_4.jpeg"> <upload>expected_4.jpeg</upload></s3><sqs>
added version V.1.0,V.2.0
WEB UI
Description
Information storage service can be used in tests.
Parameters
Required params:
- Choice:
- Send – string
- Receive – string
Required params: comment, alias, queue
Example
<sqs comment="Compare message from empty queue inline mode" alias="queue_one" queue="queue"> <receive>null</receive></sqs><kafka>
added version V.1.0,V.2.0
WEB UI
Description
Can be used in tests.
Parameters
Required params:
- Choice:
- Send:
Choice:
1. Value 2. file
Optional params:
1. Key 2. Headers:
1. Name – string name of the header 2. Value – value o the header
2. Receive
Choice:
1. Value 2. file
Required params:
1. topic
Optional params:
1. timeoutMillis int (1500 default) 2. Headers – boolean (true default):
Required params: comment. alias
Example
<kafka comment="Receive then send and receive 2 time" alias="kafka-one"> <receive topic="queue"> <file>expected_2.json</file> </receive> <send topic="queue"> <file>body_1.json</file> </send> <receive topic="queue"> <value> [ { "key" : null, "value" : "{\n \"squadName\": \"Super hero squad\",\n \"homeTown\": \"Metro City\",\n \"formed\": 2016,\n \"secretBase\": \"Super tower\",\n \"active\": true\n}", "correlationId" : null, "headers" : { } } ] </value> </receive></kafka><rabbit>
added version V.1.0,V.2.0
WEB UI
Description
Replicable middleware focused on handling messages in a test.
Parameters
Required params: comment, alias
Choice:
Send: Choice:
Body
File Required params:
routingKey Optional param:
Headers:
- Name
- value
Exchange
correlationId
Receive
Choice:
- message
- file Required params:
- queue Optional param:
- prefetchCount
- imeoutMillis
- headers – boolean
Example
<rabbit comment="Receive then send and receive 2 time" alias="rabbit-one"> <receive queue="queue"> <file>expected_2.json</file> </receive> <send routingKey="queue"> <file>body_1.json</file> </send> <receive queue="queue"> <message> [ { "message" : "{\n \"squadName\": \"Super hero squad\",\n \"homeTown\": \"Metro City\",\n \"formed\": 2016,\n \"secretBase\": \"Super tower\",\n \"active\": true\n}", "correlationId" : "null", "headers" : { } } ] </message> </receive></rabbit><dynamo>
added version V.1.0,V.2.0
WEB UI
Description
Visual programming for open source test.
Parameters
Required params:
- comment
- alias
- file – file with expected result
Required filed:
- Query (unlimited usage min 1)
Example
<dynamo comment="Execute mixed postgres commands (SELECT/INSERT/DELETE/UPDATE)" file="expected_2.json" alias="dynamo_one"> <query>INSERT INTO playground value {'year' : 11 , 'title' : 'Strassenbande-11', 'Map': {'key': {'key2': ['hoge', 100]}}, 'List': ['hoge', 100]} </query> <query>DELETE FROM playground WHERE year = 2 AND title = 'Strassenbande-2'</query> <query>UPDATE playground SET Albums={'Platin':[2020, 2018]} WHERE year = 1 AND title = 'Strassenbande-1'</query> <query>SELECT * FROM playground</query></dynamo><elasticsearch>
added version V.1.0,V.2.0
WEB UI
Description
Search engine with json rest api using Lucene in test.
Parameters
Required params:
- comment
- alias
Choice:
- Get
- Delete
- Head
- Options : Required fields:
- Header (may be used 0 or more times)
- Param (may use 0 or more times)
- Response:
Required fields:
- header (0 or more times)
- warning (0 or more times):
- name ()
Required params:
- Code
- File Required params: endpoint
- Post
- Put
- Patch
- Trace: Required fields:
- Header (may be used 0 or more times)
- param (may use 0 or more times)
- Response: Required fields:
- header (0 or more times)
- warning (0 or more times):
- name ()
Required params:
- Code
- File Required params: endpoint
- Body:
Choice:
Param:
- Name
- Data – string
Multipart:
- Name
- Path
- Filename
From – file
Raw
<elasticsearch comment="Execute elasticsearch commands - create index" alias="elastic_one"> <put endpoint="/my-index-000001"> <response file="expected_2.json"/> <body> <raw> { "settings": { "index": { "number_of_shards": 3, "number_of_replicas": 2 } }, "mappings": { "properties": { "field1": { "type": "text" } } } } </raw> </body> </put></elasticsearch><lambda>
added version V.1.0,V.2.0
WEB UI
Description
Special syntax for defining functional objects, borrowed from λ-calculus in the test.
Parameters
Required params:
- comment
- alias
- fuctionName
Required fields:
Body:
- from
- Raw
Response:
Required params:
- Code
- File Optional fields:
- Header (0 or more times):
- Name
- Data
<lambda comment="Invoke python function" alias="AWS" functionName="hello-world-python"> <body> <from file="body_1.json"/> </body> <response file="expected_1.json"> <header name="X-Amz-Executed-Version" data="$LATEST"/> </response></lambda><sendgrid>
added version V.1.0,V.2.0
WEB UI
Description
Reliable email delivery in tests.
Parameters
Required params:
- comment
- alias
Choice:
Get
Delete : Required params:
Endpoint optional fields:
Response (0 or more times): Required params:
Code
File Optional params:
Header (0 or more times):
- Name
- Data
Header (0 or more times):
- Name
- data
Post
Put
Patch : Same as for “get” and “delete” but has an additional required field:
Body:
Choice:
Param:
- Name
- Data – string
Multipart:
- Name
- Path
- Filename
From – file
Raw
<sendgrid comment="Sending a message to the email with raw body" alias="sendgrid_one"> <post endpoint="/mail/send"> <response code="202"/> <body> <raw>{ "from": { "email" : "test@gmail.com" }, "subject" : "Test message", "personalizations" : [ { "to" : [ { "email" : "test@nure.ua" } ] } ], "content" : [ { "type" : "text/plain", "value":"Sending direct test message raw"} ] } </raw> </body> </post></sendgrid><ses>
added version V.1.0,V.2.0
WEB UI
Description
A flexible and highly scalable cloud-based bulk email service, part of the Amazon Web Services (AWS) product line.
Parameters
Required param:
- comment
- alias
Required fields:
Destination – string destination
Source – string
Message:
Body:
- Html
- Text
Subject:
- charset
<ses comment="Sending a message to the email" alias="ses_one"> <destination>example@gmail.com</destination> <source>examplehello@gmail.com</source> <message> <body> <html>Amazon SES test</html> <text>Hello World</text> </body> <subject>TITLE</subject> </message></ses><smtp>
added version V.1.0,V.2.0
WEB UI
Description
A network protocol used for transmitting e-mail over TCP/IP networks.
Parameters
Required params:
- comment
- alias
- recipientEmail
Required fields:
- Subject – string
- Text – string
<smtp comment="Trying to send email using Gmail SMTP server" alias="gmail_smtp" recipientEmail="test@gmail.com"> <subject>Test content</subject> <text>Test content</text></smtp><twilio>
added version V.1.0,V.2.0
WEB UI
Description
Messaging Securely send and receive SMS, WhatsApp and chat messages with best-in-class communication APIs.
Parameters
Required params:
- comment
- alias
- destinationPhoneNumber
Required fields:
- message
message<twilio comment="Trying to send sms using Twilio API" alias="twilio" destinationPhoneNumber="your number phone"> <message>COTT Test</message></twilio><graphql>
added version V.1.0,V.2.0
WEB UI
Description
Syntax that describes how data is requested, and is mainly used by the client to download data from the server.
Parameters
Required params:
- comment
- alias
- endpoint
Required fields:
Body:
- From – file
- Raw – string
response (0 or more times):
Optional params:
- Code (default 200)
- File Optional fields (may be used 0 or more times):
- Header:
- Name
- Data
<graphql comment="graphQl mutation query" endpoint="/graphql" alias="graphql"> <body> <raw> { characters(page: 2, filter: {name: "Morty"}) { info { count } results { name } } location(id: 1) { id } episodesByIds(ids: [1, 2]) { id } } </raw> </body> <response code="200" file="expected_1.json"/>