Glossary


<click>

Added version: V.1.0, V.2.0

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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>

added version V.2.0

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

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

Where can be used

WEB UI

Description

Allows you to test with and without a stomp.

Parameters

Required:

  1. comment

  2. alias

  3. disconnect

Choice:

  1. Stomp:

    1. Subscribe:

      1. Comment

      2. Topic

    2. Send:

      1. Choice:

        1. Message

        2. File

      2. Receive(may be skipped)

      3. Comment

      4. Disconnect

    3. Receive:

      1. Choice:

        1. Message

        2. File

      2. Comment

      3. Topic

      4. Count

      5. timeoutMillis

  2. Choice:

    1. 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

Where can be used

WEB UI

Description

Connecting to a database and modifying it with a test.

Parameters

Required:

  1. comment

  2. alias

  3. file – file with expected result

Required filed:

  1. 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

Where can be used

WEB UI

Description

Allows you to work with mixed queries in the test.

Parameters

Required params:

  1. comment

  2. alias

  3. file – file with expected result

Required filed:

  1. 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

Where can be used

WEB UI

Description

Writing tests with an open source relational database management system (RDBMS).

Parameters

Required params:

  1. comment

  2. alias

  3. file – file with expected result

Required filed:

  1. 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

Where can be used

WEB UI

Description

Writing texts with the help of the database.

Parameters

Required params:

  1. comment

  2. alias

  3. file – file with expected result

Required filed:

  1. 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

Where can be used

WEB UI

Description

In tests, you can use the database repository.

Parameters

Required params:

  1. comment

  2. alias

  3. file – file with expected result

Required filed:

  1. 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

Where can be used

WEB UI

Description

Database can be used in tests.

Parameters

Required params:

  1. comment

  2. alias

  3. file – file with expected result

Required filed:

  1. 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

Where can be used

WEB UI

Description

Cloud storage can be used in tests.

Parameters

Required params:

  1. Choice:

    1. upload

    2. download

Required params:

  1. comment

  2. alias

  3. 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

Where can be used

WEB UI

Description

Information storage service can be used in tests.

Parameters

Required params:

  1. Choice:

    1. Send – string

    2. 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

Where can be used

WEB UI

Description

Can be used in tests.

Parameters

Required params:

  1. Choice:

    1. 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>

added version V.1.0,V.2.0

Where can be used

WEB UI

Description

Replicable middleware focused on handling messages in a test.

Parameters

Required params: comment, alias

Choice:

  1. Send: Choice:

  2. Body

  3. File Required params:

  4. routingKey Optional param:

  5. Headers:

    1. Name

    2. value

  6. Exchange

  7. correlationId

  8. Receive

Choice:

  1. message

  2. file Required params:

  3. queue Optional param:

  4. prefetchCount

  5. imeoutMillis

  6. 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

Where can be used

WEB UI

Description

Visual programming for open source test.

Parameters

Required params:

  1. comment

  2. alias

  3. file – file with expected result

Required filed:

  1. 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

Where can be used

WEB UI

Description

Search engine with json rest api using Lucene in test.

Parameters

Required params:

  1. comment

  2. alias

Choice:

  1. Get

  2. Delete

  3. Head

  4. Options : Required fields:

  5. Header (may be used 0 or more times)

  6. Param (may use 0 or more times)

  7. Response:

Required fields:

  1. header (0 or more times)

  2. warning (0 or more times):

    1. name ()

Required params:

  1. Code

  2. File Required params: endpoint

  3. Post

  4. Put

  5. Patch

  6. Trace: Required fields:

  7. Header (may be used 0 or more times)

  8. param (may use 0 or more times)

  9. Response: Required fields:

  10. header (0 or more times)

  11. warning (0 or more times):

    1. name ()

Required params:

  1. Code

  2. File Required params: endpoint

  3. Body:

Choice:

  1. Param:

    1. Name

    2. Data – string

  2. Multipart:

    1. Name

    2. Path

    3. Filename

  3. From – file

  4. 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

Where can be used

WEB UI

Description

Special syntax for defining functional objects, borrowed from λ-calculus in the test.

Parameters

Required params:

  1. comment

  2. alias

  3. fuctionName

Required fields:

  1. Body:

    1. from

    2. Raw

  2. Response:

Required params:

  1. Code

  2. File Optional fields:

  3. Header (0 or more times):

    1. Name

    2. 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

Where can be used

WEB UI

Description

Reliable email delivery in tests.

Parameters

Required params:

  1. comment

  2. alias

Choice:

  1. Get

  2. Delete : Required params:

  3. Endpoint optional fields:

  4. Response (0 or more times): Required params:

  5. Code

  6. File Optional params:

  7. Header (0 or more times):

    1. Name

    2. Data

  8. Header (0 or more times):

    1. Name

    2. data

  9. Post

  10. Put

  11. Patch : Same as for “get” and “delete” but has an additional required field:

  12. Body:

Choice:

  1. Param:

    1. Name

    2. Data – string

  2. Multipart:

    1. Name

    2. Path

    3. Filename

  3. From – file

  4. 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

Where can be used

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:

  1. comment

  2. alias

Required fields:

  1. Destination – string destination

  2. Source – string

  3. Message:

    1. Body:

      1. Html

      2. Text

    2. Subject:

      1. 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

Where can be used

WEB UI

Description

A network protocol used for transmitting e-mail over TCP/IP networks.

Parameters

Required params:

  1. comment

  2. alias

  3. recipientEmail

Required fields:

  1. Subject – string

  2. 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

Where can be used

WEB UI

Description

Messaging Securely send and receive SMS, WhatsApp and chat messages with best-in-class communication APIs.

Parameters

Required params:

  1. comment

  2. alias

  3. destinationPhoneNumber

Required fields:

  1. 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

Where can be used

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:

  1. comment

  2. alias

  3. endpoint

Required fields:

  1. Body:

    1. From – file

    2. Raw – string

  2. response (0 or more times):

Optional params:

  1. Code (default 200)

  2. File Optional fields (may be used 0 or more times):

  3. Header:

    1. Name

    2. 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"/>