Test Case Action

Unknown

Unknown action. Should be used when the action is not yet known. Warning: make the execution fail.

click

GUI

SRV

APK

IPA

FAT

BAT

Click on the left mouse button on an element inside the current page.

Value1 Identifier and name of the element to click in the form of : identifier=html_reference.

longPress

GUI

SRV

APK

IPA

FAT

BAT

Click during a specific duration on the left mouse button on an element inside the current page.

Value1 Identifier and name of the element to click in the form of : identifier=html_reference.

Value2 Duration of the click in milliseconds.

mouseLeftButtonPress

GUI

SRV

APK

IPA

FAT

BAT

Press and keep the left mouse button pressed on an element until the action 'mouseLeftButtonRelease' is executed. If element not defined, Sikuli engine will be used and mouse button will be pressed on the current pocsition of the mouse pointer.

Value1 Identifier and name of the element to click in the form of : identifier=html_reference.

mouseLeftButtonRelease

GUI

SRV

APK

IPA

FAT

BAT

Release the mouse button on an element. Usefull with ButtonPress to perform drag & drop but also to draw picture using Sikuli engine.

Value1 Identifier and name of the element where release will be done in the form of : identifier=html_reference.

doubleClick

GUI

SRV

APK

IPA

FAT

BAT

Double click on an element inside the current page.

Value1 Identifier and name of the element to click in the form of : identifier=html_reference.

rightClick

GUI

SRV

APK

IPA

FAT

BAT

Right click on an element inside the current page.

Value1 Identifier and name of the element to double click in the form of : identifier=html_reference.

mouseOver

GUI

SRV

APK

IPA

FAT

BAT

Mouse cursor over an element inside the current page.

Value1 Identifier and name of the element to over in the form of : identifier=html_reference.

mouseMove

GUI (hybrid)

SRV

APK

IPA

FAT

BAT

Allow to move the mouse.

Value1 List of x and y relative position to move the mouse pointer. Several move positions can be specified separated by semi comma. Top Left position of the screen correspond to 0,0 coords. You can specify absolute coords by using keywork absolute before the coords. center keyword can be used to move pointer to center of the screen.

Example 1. Move pointer following a square of 50px on the right/bottom side of the pointer

50,0 ; 0,50 ; -50,0 ; 0,-50

Example 2. Move pointer following a line down the current pointer position.

0,50

Example 3. Move pointer to top left corner and then to center of the screen.

absolute 0,0 ; center

focustoIframe

GUI

SRV

APK

IPA

FAT

BAT

Set the focus to a specific frame on the current page.

Value1 Identifier and name of the frame to focus in the form of : identifier=html_reference.

focustoDefaultIframe

GUI

SRV

APK

IPA

FAT

BAT

Set back the focus to the previous frame on the current page.

switchToWindow

GUI

SRV

APK

IPA

FAT

BAT

Switch the focus to another window (like popup dialog).

Value1 Title or URL of the other window to switch to. identifier=html_reference identifier can be title, url, regexUrl or regexTitle

Example 4. By Tittle

title=titleOfThisNewWindow

Example 5. By Regex Tittle

regexTitle=.*ThisNewWindow.*

Example 6. By Url

url=http://url_of_this_new_window

Example 7. By Regex Url

regexUrl=.*_this_new.*

switchToContext

GUI

SRV

APK

IPA

FAT

BAT

Switch the current application context to another.

Value1 Name of the context you want to switch to. If the value is empty, this will switch to the default context "NATIVE_APP". For example, you can set this action with defined value to switch on the context you want, then do your actions in this context, and finally set again this action with no value to get back to the default context.

manageDialog

GUI

SRV

APK

IPA

FAT

BAT

Close the browser popup alert windows either by accepting it with ok either by cancelling it with cancel

Value1 ok or cancel

manageDialogKeypress

GUI

SRV

APK

IPA

FAT

BAT

Keypress inside the browser popup alert windows.

Value1 List of characters to type. You can use several special keys into the same action

Example 8. Normal test

texttoenter[ENTER]

Example 9. Normal test and special keys

user[TAB]password[ENTER]

Note

Supported keys are : [BACK_SPACE], [TAB], [RETURN], [ENTER], [SHIFT], [LEFT_SHIFT], [CONTROL], [LEFT_CONTROL], [ALT], [LEFT_ALT], [ESCAPE], [SPACE], [PAGE_UP], [PAGE_DOWN], [LEFT], [ARROW_LEFT], [UP], [ARROW_UP], [RIGHT], [ARROW_RIGHT], [DOWN], [ARROW_DOWN], [DELETE], [SEMICOLON], [EQUALS], [NUMPAD0], [NUMPAD1], [NUMPAD2], [NUMPAD3], [NUMPAD4], [NUMPAD5], [NUMPAD6], [NUMPAD7], [NUMPAD8], [NUMPAD9], [MULTIPLY], [ADD], [SEPARATOR], [SUBTRACT], [DECIMAL], [DIVIDE], [F1], [F2], [F3], [F4], [F5], [F6], [F7], [F8], [F9], [F10], [F11], [F12]

OpenUrlWithBase

GUI

SRV

APK

IPA

FAT

BAT

OpenUrl action using the base defined in the application / environment section.

Value1 Relative URL to open.

Example 10. relative URL

/cerberustesting/page.html

OpenUrlLogin

GUI

SRV

APK

IPA

FAT

BAT

OpenUrl action using the login page defined at application / environment level.

OpenUrl

GUI

SRV

APK

IPA

FAT

BAT

Open a specified full url.

Value1 Complete URL to open.

Example 11. Title

refreshCurrentPage

GUI

SRV

APK

IPA

FAT

BAT

Reload the current page.

executeJS

GUI

SRV

APK

IPA

FAT

BAT

Execute a JS script (no output can be retrieved).

Value1 Javascript to execute.

Example 12. Javascript
var newOption = new Option('%property.ApplicationName%', '%property.ApplicationName%', true, true);
$('#application').append(newOption).trigger('change');

executeCommand

GUI

SRV

APK

IPA

FAT

BAT

Execute a Command on the robot side. You can follow the Appium instructions here.

Value1 Command to execute. Ex : mobile:deepLink

Value2 Arguments of the command. Ex : {url: "https://www.site.com/", package: "com.site.SomeAndroidPackage"}

executeCerberusCommand

GUI

SRV

APK

IPA

FAT

BAT

Execute a Command from the Cerberus Server side. The command will be executed using the user defined in the parameter cerberus_executeCerberusCommand_user, password defined in cerberus_executeCerberusCommand_password and script from the path cerberus_executeCerberusCommand_path

Value1 Command to execute.

openApp

GUI (hybrid)

SRV

APK

IPA

FAT

BAT

Open an Application. For GUI and FAT, this action require the Cerberus Sikuli extention.

Value1 Application to Open. BundleId for IPA (activateApp() method is used), if empty, launchApp() method is used). App Package for APK ('am start' command is used).

Value2 App Activity for APK.

closeApp

GUI

SRV

APK

IPA

FAT

BAT

Close an application.

Value1 Application to Open.

dragAndDrop

GUI

SRV

APK

IPA

FAT

BAT

Will Drag from an Element to another Element.

Value1 Identifier and name of the element to drag in the form of : identifier=html_reference.

Value2 Identifier and name of the element where to drop in the form of : identifier=html_reference..

select

GUI

SRV

APK

IPA

FAT

BAT

Select an option in a <select> Element. this 'text' must be defined : <option value="text">. For APK and IPA, action only works in a web mode.

Value1 Identifier and name of the element of the select in the form of : identifier=html_reference.

Value2 Element to select.

Example 13. Title

<option value="text">

keypress

GUI

SRV

APK

IPA

FAT

BAT

will allow you to press any key in the current page. Value3 contains the modifier that can be used.

Value1 : Identifier and name of the element where the key is pressed in the form of : identifier=html_reference.

Value2 : Keycode of the key to press.

Example 14. Pressing ENTER Key for a GUI application

ENTER

Example 15. Pressing ENTER Key for a FAT application

Key.ENTER

Example 16. Pressing 1,2,3,4,5 and then ENTER keys for a FAT application

12345Key.ENTER

Value3 : Keycode of the modifier key to press at the same time of the Value2 key pressed.

Example 17. Pressing CTRL keys (during full keypress) for a FAT application

Key.CTRL

Note

You can force the keypress to be performed with sikuli backend when specifying Value1 with value : picture=.

Note

Speed of typing can be configured inside the TypeDelay options of the action.

The keycodes (see. keypress action) also changes depending on the application type (GUI, IPA, APK or FAT). The syntaxes are:

  • for GUI : KEYNAME

Following Selenium KEYNAME can be used : NULL, CANCEL, HELP, BACK_SPACE, TAB, CLEAR, RETURN, ENTER, SHIFT, LEFT_SHIFT, CONTROL, LEFT_CONTROL, ALT, LEFT_ALT, PAUSE, ESCAPE, SPACE, PAGE_UP, PAGE_DOWN, END, HOME, LEFT, ARROW_LEFT, UP, ARROW_UP, RIGHT, ARROW_RIGHT, DOWN, ARROW_DOWN, INSERT, DELETE, SEMICOLON, EQUALS, NUMPAD0, NUMPAD1, NUMPAD2, NUMPAD3, NUMPAD4, NUMPAD5, NUMPAD6, NUMPAD7, NUMPAD8, NUMPAD9, MULTIPLY, ADD, SEPARATOR, SUBTRACT, DECIMAL, DIVIDE, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, META, COMMAND, ZENKAKU_HANKAKU

  • for APK : KEYNAME

Following Appium Android KEYNAME can be used : UNKNOWN, SOFT_LEFT, SOFT_RIGHT, HOME, BACK, CALL, ENDCALL, DIGIT_0, DIGIT_1, DIGIT_2, DIGIT_3, DIGIT_4, DIGIT_5, DIGIT_6, DIGIT_7, DIGIT_8, DIGIT_9, STAR, POUND, DPAD_UP, DPAD_DOWN, DPAD_LEFT, DPAD_RIGHT, DPAD_CENTER, VOLUME_UP, VOLUME_DOWN, POWER, CAMERA, CLEAR, A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z, COMMA, PERIOD, ALT_LEFT, ALT_RIGHT, SHIFT_LEFT, SHIFT_RIGHT, TAB, SPACE, SYM, EXPLORER, ENVELOPE, ENTER, DEL, GRAVE, MINUS, EQUALS, LEFT_BRACKET, RIGHT_BRACKET, BACKSLASH, SEMICOLON, APOSTROPHE, SLASH, AT, NUM, HEADSETHOOK, FOCUS, PLUS, MENU, NOTIFICATION, SEARCH, MEDIA_PLAY_PAUSE, MEDIA_STOP, MEDIA_NEXT, MEDIA_PREVIOUS, MEDIA_REWIND, MEDIA_FAST_FORWARD, MUTE, PAGE_UP, PAGE_DOWN, PICTSYMBOLS, SWITCH_CHARSET, BUTTON_A, BUTTON_B, BUTTON_C, BUTTON_X, BUTTON_Y, BUTTON_Z, BUTTON_L1, BUTTON_R1, BUTTON_L2, BUTTON_R2, BUTTON_THUMBL, BUTTON_THUMBR, BUTTON_START, BUTTON_SELECT, BUTTON_MODE, ESCAPE, FORWARD_DEL, CTRL_LEFT, CTRL_RIGHT, CAPS_LOCK, SCROLL_LOCK, META_LEFT, META_RIGHT, FUNCTION, SYSRQ, BREAK, MOVE_HOME, MOVE_END, INSERT, FORWARD, MEDIA_PLAY, MEDIA_PAUSE, MEDIA_CLOSE, MEDIA_EJECT, MEDIA_RECORD, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, NUM_LOCK, NUMPAD_0, NUMPAD_1, NUMPAD_2, NUMPAD_3, NUMPAD_4, NUMPAD_5, NUMPAD_6, NUMPAD_7, NUMPAD_8, NUMPAD_9, NUMPAD_DIVIDE, NUMPAD_MULTIPLY, NUMPAD_SUBTRACT, NUMPAD_ADD, NUMPAD_DOT, NUMPAD_COMMA, NUMPAD_ENTER, NUMPAD_EQUALS, NUMPAD_LEFT_PAREN, NUMPAD_RIGHT_PAREN, VOLUME_MUTE, INFO, CHANNEL_UP, CHANNEL_DOWN, KEYCODE_ZOOM_IN, KEYCODE_ZOOM_OUT, TV, WINDOW, GUIDE, DVR, BOOKMARK, CAPTIONS, SETTINGS, TV_POWER, TV_INPUT, STB_POWER, STB_INPUT, AVR_POWER, AVR_INPUT, PROG_RED, PROG_GREEN, PROG_YELLOW, PROG_BLUE, APP_SWITCH, BUTTON_1, BUTTON_2, BUTTON_3, BUTTON_4, BUTTON_5, BUTTON_6, BUTTON_7, BUTTON_8, BUTTON_9, BUTTON_10, BUTTON_11, BUTTON_12, BUTTON_13, BUTTON_14, BUTTON_15, BUTTON_16, LANGUAGE_SWITCH, MANNER_MODE, MODE_3D, CONTACTS, CALENDAR, MUSIC, CALCULATOR, ZENKAKU_HANKAKU, EISU, MUHENKAN, HENKAN, KATAKANA_HIRAGANA, YEN, RO, KANA, ASSIST, BRIGHTNESS_DOWN, BRIGHTNESS_UP, MEDIA_AUDIO_TRACK, SLEEP, WAKEUP, PAIRING, _MEDIA_TOP_MENU, KEY_11, KEY_12, LAST_CHANNEL, TV_DATA_SERVICE, VOICE_ASSIST, TV_RADIO_SERVICE, TV_TELETEXT, TV_NUMBER_ENTRY, TV_TERRESTRIAL_ANALOG, TV_TERRESTRIAL_DIGITAL, TV_SATELLITE, TV_SATELLITE_BS, TV_SATELLITE_CS, TV_SATELLITE_SERVICE, TV_NETWORK, TV_ANTENNA_CABLE, TV_INPUT_HDMI_1, TV_INPUT_HDMI_2, TV_INPUT_HDMI_3, TV_INPUT_HDMI_4, TV_INPUT_COMPOSITE_1, TV_INPUT_COMPOSITE_2, TV_INPUT_COMPONENT_1, TV_INPUT_COMPONENT_2, TV_INPUT_VGA_1, TV_AUDIO_DESCRIPTION, TV_AUDIO_DESCRIPTION_MIX_UP, TV_AUDIO_DESCRIPTION_MIX_DOWN, TV_ZOOM_MODE, TV_CONTENTS_MENU, _TV_MEDIA_CONTEXT_MENU, TV_TIMER_PROGRAMMING, HELP, NAVIGATE_PREVIOUS, NAVIGATE_NEXT, NAVIGATE_IN, NAVIGATE_OUT, STEM_PRIMARY, STEM_1, STEM_2, STEM_3, DPAD_UP_LEFT, DPAD_DOWN_LEFT, DPAD_UP_RIGHT, DPAD_DOWN_RIGHT, MEDIA_SKIP_FORWARD, MEDIA_SKIP_BACKWARD, MEDIA_STEP_FORWARD, MEDIA_STEP_BACKWARD, SOFT_SLEEP, CUT, COPY, PASTE

  • for IPA : KEYNAME

Following Appium IOS KEYNAME can be used : RETURN, ENTER, SEARCH, BACKSPACE

  • for FAT : Key.KEYNAME

Following KEYNAME values can be used : ENTER, TAB, ESC, BACKSPACE, DELETE, INSERT, SPACE, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, F13, F14, F15, HOME, END, LEFT, RIGHT, DOWN, UP, PAGE_DOWN, PAGE_UP, PRINTSCREEN, PAUSE, CAPS_LOCK, SCROLL_LOCK, NUM_LOCK, NUM0, NUM1, NUM2, NUM3, NUM4, NUM5, NUM6, NUM7, NUM8, NUM9, SEPARATOR, ADD, MINUS, MULTIPLY, DIVIDE, ALT, CMD, CTRL, META, SHIFT, WIN

type

GUI

SRV

APK

IPA

FAT

BAT

Type a data in an Element.

Value1 : Identifier and name of the element where the data is entered in the form of : identifier=html_reference.

Value2 : data to enter in the field.

clearField

GUI

SRV

APK

IPA

FAT

BAT

Clear (Empty) an Element.

Value1 : Identifier and name of the element to be cleared in the form of : identifier=html_reference.

hidekeyboard

GUI

SRV

APK

IPA

FAT

BAT

Hide the currently visible keyboard

swipe

GUI

SRV

APK

IPA

FAT

BAT

The action simulates a user pressing down on the screen, sliding to another position, and removing their finger from the screen. Swipe action can be used neither with unique parameter UP, DOWN, LEFT or RIGHT or with combination of parameter CUSTOM and x1;y1;x2;y2, which are coordinates of origin point (x1;y1) and relatives coordinates of destination point (x2;y2)

Value1 : UP, DOWN, LEFT, RIGHT or CUSTOM.

Value2 : x1;y1;x2;y2 (only used if Value1 is CUSTOM)

Example 18. Swipe Up

Value1 UP

Value2

will swipe from the 2/3 to the 1/3 of the screen.

Example 19. Custom Swipe

Value1 CUSTOM

Value2 100;100;0;100

Will swipe from the point (100;100) to the point (100;200)

scrollTo

GUI

SRV

APK

IPA

FAT

BAT

Scroll to either an element or a text.

For GUI applications, screen will be scrolled until the targeted element is at the top of the screen (shifted according to the defined offset).

For APK and IPA applications, screen will be scrolled until the targeted element is at the middle of the screen (shifted according to the defined offset).

Value1 : Identifier of the element or text where the scroll will move the screen to. Has the form of : identifier=html_reference.

Example 20. Scroll to an xpath element

///button[contains(@class,'product-rating-open-language')]//span

Example 21. Scroll to a text that appear on the page

My Playlist

Value2 : Maximum number of scroll that will be performed in order to reach the element. This parameter is used only for APK and IPA applications. It default to 8 if empty or invalid.

Value3 : Scroll offset that will be perform after scrolling to the element. This parameter is used only for GUI applications. Format is 2 integer values seperated by a comma. When empty, the global parameters cerberus_selenium_autoscroll_horizontal_offset and cerberus_selenium_autoscroll_vertical_offset are used to offset to the given values.

Example 22. Move back up by 100 pixel

0,-100

Example 23. Forcing no offset whatever the global parameters contains

0,0

Note

A temporisation of a few seconds will be done between the scrolls in order to secure that the browser has time to reach the element before doing the offset.

installApp

GUI

SRV

APK

IPA

FAT

BAT

Install an application on the mobile.

Value1 : Path to the application to install.

Example 24. Title

/root/toto.apk

removeApp

GUI

SRV

APK

IPA

FAT

BAT

Remove an application from the mobile.

Value1 : Application package name to remove.

Example 25. Title

com.cerberus.appmobile

wait

GUI

SRV

APK

IPA

FAT

BAT

Wait for a certain amount of time or for an element to be present on a page.

Value1 : Either an integer that represent a duration in ms, either an Element that we will wait to exist in the form of : identifier=html_reference.

Example 26. Title

10000

Will wait 10 seconds

Example 27. Title

id=userName

Will wait that element with id equal to userName is loaded on the current screen.

waitVanish

GUI

SRV

APK

IPA

FAT

BAT

Wait that an element is removed from the page.

Value1 : Element that we will wait to be removed from the screen in the form of : identifier=html_reference.

Example 28. Title

id=userName

Will wait that Element with id equal to userName is removed from the current screen.

waitNetworkTrafficIdle

GUI

SRV

APK

IPA

FAT

BAT

Wait that network traffic idle. Cerberus will wait until requests are no longer performed. That can be used in order to secure that all page components are fully loaded and does not miss some important resource hits. In order to do so, Cerberus will check periodically the number of hits generated from the application since the beginning of the test case. When the number of hits stops to grow during that period, Cerberus stop waiting and continue the test case.

Parameter 'cerberus_networkstatsave_idleperiod_ms' can be used to change the period in millisecond and 'cerberus_networkstatsave_idlemaxloop_nb' can be used in order to limit those checks after a maximum of iteration.

Note

This action is only possible when Robot has the Cerberus executor activated and fully working. It also require at least version 1.1 of the executor.

callService

GUI

SRV

APK

IPA

FAT

BAT

Call a service (REST, FTP, KAFKA,…​) defined on the Service Library and provide the output within the execution.

Value1 : Name of the service to call.

Value2 : Nb of Event until the action finish. It is only used if the Service is a KAFKA service with a SEARCH method. It correspond to the nb of event the action will wait until it resume to the following controls or actions.

Value3 : Time in second until the action finish.It is only used if the Service is a KAFKA service with a SEARCH method. It correspond to maximum time in second the action will wait until it resume to the following controls or actions.

executeSqlUpdate

GUI

SRV

APK

IPA

FAT

BAT

Will allow you to execute SQL update (insert,delete,update).

Value1 : Name of the database where the SQL will be executed. Database needs to be created into the invariant PROPERTYDATABASE and configured on the corresponding environment.

Value2 : SQL to be executed.

executeSqlStoredProcedure

GUI

SRV

APK

IPA

FAT

BAT

Will allow you to execute SQL stored procedure.

Value1 : Name of the database where the SQL will be executed. Database needs to be created into the invariant PROPERTYDATABASE and configured on the corresponding environment.

Value2 : SQL to be executed.

cleanRobotFile

GUI

SRV

APK

IPA

FAT

BAT

Will clean and remove files based on a given pattern on the robot side. That allow to prepare that a file do not exist before downloading it, preventing that it name is changed when downloaded.

Value1 : Folder and pattern to be deleted

Example 29. Clean all files of a folder

Value1 /home/seluser/Downloads/

Example 30. Clean all json files of a folder

Value1 /home/seluser/Downloads/*.json

uploadRobotFile

GUI

SRV

APK

IPA

FAT

BAT

Will upload a file to a folder located on the robot side. That allow to implement use case where a file needs to be uploaded from the robot side to the tested application.

Value1 : Full name of the target file on the robot side.

Value2 : Content of the file to upload. (in plain text or base64 format)

Value3 : Option in order to trigger a specific behavior. EMPTYFOLDER will empty the folder where the file is located in order to secure that its selection is to be performed in the exact same way (more and more files appearing on the folder may make its selection quite complex).

Example 31. Upload a file

Value1 /home/seluser/Downloads/test.json

Value2 {"content" : "test"}

Value3

Will dynamicaly create the file /home/seluser/Downloads/test.json on the robot side with content '{"content" : "test"}'

Example 32. Upload a file and empty the folder content before.

Value1 /home/seluser/Downloads/test.json

Value2 eyJjb250ZW50IiA6ICJ0ZXN0In0K

Value3 EMPTYFOLDER

Will dynamicaly purge the content of /home/seluser/Downloads/ and then create the file /home/seluser/Downloads/test.json on the robot side with content FILE1

Tip

In order to encode the content of a file to Base64, you can use a tools such as https://base64.guru/converter

getRobotFile

GUI

SRV

APK

IPA

FAT

BAT

Will get a list of files located on the robot side. That allow to implement use case where you want to test the content of a file downloaded on the robot side from the tested application.

Value1 : Filename pattern to download.

Value2 : number of files to download.

Value3 : Option in order to trigger a specific sorting behavior when selecting the files.

  • LASTMODIFIED will sort files by latest modification time,

  • IGNORECASEDESC will sort them in descending order by name ignoring case.

  • IGNORECASEASC will sort them in ascending order by name ignoring case.

  • DESC will sort them in descending order by name.

  • ASC will sort them in ascending order by name. (this is the default value)

The Action will return a json file that follow the below json format:

{
    "totalFilesAvailable": "3",
    "totalFilesDownloaded": "2",
    "files": [
    {
        "path": "/home/seluser/Downloads/pdf_digital_signature_timestamp.pdf",
        "filename": "pdf_digital_signature_timestamp.pdf",
        "size": "46016",
        "lastModified": "2024.03.23:14.23.07",
        "contentType": "PDF",
        "pdfInfo": {
            "pdfCertInfo": {
                "names": [
                {
                    "names": ["Test Signing Certificate-1-1081166692", null],
                    "reasons": ["I approve these details."],
                    "contents": ["0\u0082\u001c)\u0006\t*\u0086H\u0086÷\r"],
                    "dates": ["D:20180901125733-04'00'"],
                    "locations": ["City"]
                }
                ],
                "blankSignatureNames": [""],
                "signatureNames": ["Test Signing Certificate-1-1081166692|"]
            },
            "pdfPageNb": 2,
            "pdfText": {
                "allPages": "PDF Digital Signatures\n \n \ndigitally .\n ",
                "pages": [
                    "PDF Digital Signatures\n \n \n",
                    "digitally .\n "
                ]
            }
            },
        "content": "%PDF-1.4\n%����\n5 0 obj\n<<\/C[0 0 1]/Border"
    },
    {
        "path": "/home/seluser/Downloads/toto/titi/testnew2.json",
        "filename": "testnew2.json",
        "size": "0",
        "content-type": "UNKNOWN",
        "lastModified": "2022.08.12:07.05.57",
        "content": {
            "content": "test"
        }
    }
    ]
}
Note

Please note that on the above example, the 1st file is a pdf file and the 2nd a json file that contain:

{"content": "test"}
Example 33. get 2 files

Value1 /home/seluser/Downloads/*.json

Value2 2

Value3 LASTMODIFIED

Will get the last 2 json files from /home/seluser/Downloads/ on the robot side.

Example 34. get 1 file.

Value1 /home/seluser/Downloads/test.json

Value2

Value3

Will get /home/seluser/Downloads/test.json file on the robot side.

calculateProperty

GUI

SRV

APK

IPA

FAT

BAT

Will allow you to calculate a Property defined in the property section of the test case and optionally update the content using the definition of another property. That action should only be used if you need to force a calculation at a precise timing or if you want to recalculate it with the latest value. A property calculation is automatically triggered when using a property without being forced to use that action.

Value1 : Name of the property to calculate. If the property is already calculated, it will be forced to be calculated again.

Value2 : [Optional] Name of a second property whose definition will be used to affect the property in Value1.

setNetworkTrafficContent

GUI

SRV

APK

IPA

FAT

BAT

Retrieve the network traffic from Cerberus Robot Proxy (when activated at robot level) and calculate a json message that can be used for direct controls on all attached controls. If Robot Executor is not activated, Action will end in NE Status and all attached controls ignored. Once all controls of that action are finished, current content are set back to normal value (could be an html or app page or another service).

Value1 : URL to filter. Network requests will be filtered based on that value. Any url that contain the value1 will be included in the network traffic.

Value2 : [Optional] Flag in order to include the response content of every requests. For speed and performance reason, Cerberus by default will not retrieve the content of every requests. If you want to get them in order to perform some controls on them, you can use that flag.

Note

This action is only possible when Robot has the Cerberus executor activated and fully working. It also require at least version 1.1 of the executor.

indexNetworkTrafficContent

GUI

SRV

APK

IPA

FAT

BAT

Allow to index the network traffic content into pieces. This action allows, during a testcase, to define some checkpoint that will isolate the traffic statistics done before and after the index. When the action is triggered, Cerberus save the number of requests performed since the beginning of the testcase in order to index them. When at least an index exist on a testcase, the 'Network' tab displayed inside the testcase execution report allow to filter the various dashboard on a selection of indexes. When that action is performed, the 'setNetworkTrafficContent' action and 'getFromNetworkTraffic' default to the content that occured since that last index created. That action is handy in order to perform a full end user scenario (ex : a customer going through a checkout) and perform control on traffic done only on some isolated part of the scenario. Thanks to that action I can validate that a certain hit has been done on a specific part of the testcase (ex : no hits perfomed during the payment page loading.)

Value1 : Name of the index.

Note

This action is only possible when Robot has the Cerberus extension activated and fully working. It also require at least version 1.1 of the robot extension.

setServiceCallContent

GUI

SRV

APK

IPA

FAT

BAT

Force current content of the test case on the last service call in a JSON format. That JSON will allow controls on the structure of the last call for both Request and Response including information such as http header, http protocol version, or return code. Any control attached to that action will take json path as element syntax for direct controls. If no calls were performed before that action, action will end in NE Status and all attached controls ignored. Once all controls of that action are finished, current content are set back to normal value (could be an html or app page or another service).

setConsoleContent

GUI

SRV

APK

IPA

FAT

BAT

Force current content of the test case to the browser console logs in a JSON format. That JSON will allow controls on the all the logs collected between each call to that action (logs contents are reset after each call to get them). Once all controls of that action are finished, current content are set back to normal value (could be an html or app page or another service).

setAccessibilityContent

GUI

SRV

APK

IPA

FAT

BAT

Force current content of the test case to the Accessibility Analysis in a JSON format. That JSON will allow to control result on accessibility controls (AXE CORE is used). Once all controls of that action are finished, current content are set back to normal value (could be an html or app page or another service).

setContent

GUI

SRV

APK

IPA

FAT

BAT

Force current content of the test case to the data provided in value1 parameter. It can be any format you need (JSON, XML). All controls attached to that action will point to that data. Once all controls of that action are finished, current content are set back to normal value (could be an html or app page or another service).

lockDevice

APK

IPA

Lock the device during the execution

unlockDevice

APK

IPA

Unlock the locked device during the execution. For APK, capabilities unlockType et unlockKey can be used to unlock devices protected by a key.

rotateDevice

APK

IPA

Rotate the screen 90 degrees.

doNothing

GUI

SRV

APK

IPA

FAT

BAT

Just perform no action. No action will be executed and engine will go to the next action or control

mouseOverAndWait

DEPRECATED Action that should no longuer used.

removeDifference

DEPRECATED Action that should no longuer used.