About | News | Features | Commands | Download | Quick Start | License | Report Issues

 

 

Experience the power of record-playback automations for web application testing

 

Download SideeX 2 for Chrome/Firefox

 

About

In a word, SideeX [sɪdɛks] is a free and open source record-playback-style automated web application testing tool. SideeX presents as an extended version of Selenium IDE with a number of expanded automation capabilities.

SideeX 2 (version 2.2.3) has been officially adopted by Selenium to serve as a start point for developing the next generation of Selenium IDE.

Selenium IDE is one of the most popular record-playback-style web application testing tools. We really appreciate the effort of the Selenium Core and IDE contributors on developing the great and useful software. In this open source project, referred to as SideeX, we attempt to expand the existing Selenium IDE record-playback automation capabilities and provide a number of advanced improvements. SideeX runs as an extension for both Chrome and Firefox. It is available for free download and use.

 News

SideeX 2.3 has been released. Support playback speed control bar, hot keys, loading old IDE test case files, breakpoint toggles, and In-APP references. Code is refactored and a number of bugs are fixed. (2017/10/26)

SideeX 2 (version 2.2.3) has been committed to the official Selenium IDE TNG repo and serves as a start point for developing the next generation of Selenium IDE. (2017/10/13)

SideeX 2 for Chrome has been released. Install now. (2017/9/8)

SideeX 0.8.0 has been released. 7 new automation features are added. The existing automation features are also enhanced. See the change log. (2016/12/15)

SideeX 0.7.1 has been released. See the change log. (2016/10/22)

Features

SideeX 2 (version 2.x) was developed based on WebExtensions API and supports running on Chrome and Firefox. It preserves several key features of Selenium IDE and provides a number of advanced improvements. The preserved key features of Selenium IDE include easy-to-use user interface style and locators with target element selection. The advanced improvements are as follows:

Support Running on Chrome and Firefox
SideeX 2 runs as an extension for both Chrome and Firefox.

Support Parallel Running of Multi-SideeX on One Desktop
SideeX 2 supports running two or more SideeX instances in relation to different browser windows concurrently on one desktop for more efficiently processing test suites. For example, start three browser windows (NOT tabs) and open SideeX on each browser window's toolbar, then load and playback test suites by each SideeX with its corresponding browser window.

Support Editing and Running Multi-Test Suites in One Panel
SideeX 2 support opening, editing and running multiple test suites in one panel. The test suites can be automatically triggered and processed sequentially.

Support Saving All Selectors of Each Recorded Command
Right click on a test suite name (or Ctrl + S) and select Save Test Suite As to save a test suite. All target element selectors of each recorded command will be preserved while saving a test suite.

Auto-Generate/Play Commands for Selecting Unnamed Windows and Inner Frames
Automatically record and play commands for unnamed new popup windows and unnamed inner frames. We would suggest closing all other tabs/popup windows on the browser before starting a new recording.

Auto-Generate Commands for Closing New Popup Windows
Automatically generate close commands when the user closes new popup windows in the recording phase. The close command will be added to the command list together with the next command.

Auto-Wait for AJAX Requests Completion
Automatically force wait for the completion of all AJAX requests running in the background before playing a command. The timeout is 30 seconds. For the web page always with running AJAX requests, the extension only waits for timeout before playing the first command operated on the page for the efficiency.

Auto-Wait for Page Loading Completion
Automatically force wait for the completion of loading a page before playing a command.

Auto-Wait for DOM Change Completion
Automatically force wait for the completion of continuous DOM modifications triggered by scripts before playing a command. The timeout is 10 seconds.

Auto-Wait Until the Target Element is Found (Implicit Wait)
Automatically force wait until the target element is found before playing a command (also called implicit wait). The default timeout is set to 10 seconds.

Auto-Generate Influential Mouseover and Mouseout Commands
Automatically generate the mouse over and mouse out commands that will cause element insertions.

Auto-Generate Influential Scrolling Commands
Automatically generate scrolling commands that will cause element insertions.

Auto-Generate/Play HTML5 and Non-HTML5 Drag and Drop Commands
Automatically generate and play two types of drag and drop commands. The first type is dragAndDropToObject command for HTML5 drag and drop feature. The second type is a sequence of commands of mouse down, move, and up for non-HTML5 drag and drop feature. Which type of commands should be recorded regarding a drag and drop action will be automatically determined while recording.

Auto-Generate Commands for Non-Form Submitting Triggered by Enter Key
Automatically generate sendKeys commands for submitting a query through pressing Enter key in a text field without a form. This type of submitting often occurs with custom Javascript functions or AJAX for requesting server-side pages.

Auto-Generate clickAt Commands and Auto-Trigger Mouse Down/Up Events while Playing
Automatically generate a clickAt command for the case that no click command is generated for a click action in the recording phase. In addition, mouse down/up events will also be triggered while playing a click or clickAt command. The ordering is: mouse down, click, and mouse up.

Auto-Generate/Play doubleClick and doubleClickAt Commands
Automatically record and play doubleClick and doubleClickAt commands. When playing a doubleClick command, the following events are sequentially created: click, click, and doubleclick. When playing a doubleClickAt command, the following events are sequentially created: mousedown, click, mouseup, mousedown, click, mouseup, and doubleclick.

Auto-Generate Commands for Autocomplete (Dropdown Menu) Feature
Automatically generate related commands for autocomplete (dropdown menu) feature on input elements. The extension enables correctly recording type and click commands for the selected target element. The type command implementation is overridden based on sendKeys command to make autocomplete candidates visible. In addition, it supports recording key down/up/tab commands while selecting candidates through keyboard.

Auto-Generate/Play Commands for Editing Content-Editable Elements
Automatically generate and play editContent commands for editing content-editable elements, e.g., rich text editors. After a user edits the content of a content-editable element while recording, a corresponding editContent command will be automatically generated, which is triggered by detecting the focus removal of the element. The editContent is a newly defined command in SideeX. It is not a regular command defined in the original Selenium IDE.

Commands Supported

Command Target Value
addSelection A locator of a multi-select box An option locator of the element to be added. For example: "label=Option1"
answerOnNextPrompt The string to be set to the next prompt pop-up X
assertAlert The expected alert message X
assertConfirmation The expected confirmation message X
assertPrompt The expected prompt message X
assertText A locator The expected string of the target element (Exact matching).
Variable declared in the storeXXX commands can be used in the string. For example: "Hello ${var_usr}"
assertTitle The expected string of the title (Exact matching).
Variable declared in the storeXXX commands can be used in the string. For example: "Hello ${var_usr}"
X
chooseCancelOnNextConfirmation X X
chooseCancelOnNextPrompt X X
chooseOkOnNextConfirmation X X
clickAt A locator x,y position of the mouse event relative to the target element. For example: "10,10". The value can left blank to denote a simple click.
close Auto-generated X
dragAndDropToObject The locator of the element to be dragged The locator of the element on which the target element is dropped
doubleClickAt A locator x,y position of the mouse event relative to the target element. For example: "10,10". The value can left blank to denote a simple click.
echo The string to be printed in the log console. Variable declared in the storeXXX commands can be used in the string. For example: "Hello ${var_usr}" X
editContent A locator The string to be set to the content of the target element with attribute contenteditable="true"
mouseDownAt A locator x,y position of the mouse event relative to the target element. For example: "10,10"
mouseMoveAt A locator x,y position of the mouse event relative to the target element. For example: "10,10"
mouseOut A locator X
mouseOver A locator X
mouseUpAt A locator x,y position of the mouse event relative to the target element. For example: "10,10"
open A URL X
pause X The amount of time to sleep in millisecond. For example: "5000" means sleep for 5 seconds.
removeSelection A locator of a multi-select box An option locator of the element to be removed. For example: "label=Option1"
runScript The Javascript code to be run. For example: "var a=10; var b=10; console.log(a+b);"
NOTE THAT: Avoid using alert(), prompt(), and confirm(). These three functions will not take effect while running. Please use console.log() to log messages instead.
X
select A locator of a drop-down menu An option locator. For example: "label=Option1"
selectFrame "index=0" (Select the first frame of index 0)
"relative=parent" (Select the parent frame)
"relative=top" (Select the top frame)
X
selectWindow Auto-generated X
sendKeys A locator A character. For example: "${KEY_DOWN}"
store A string to store The name of the variable storing the string. For example: "var_usr"
storeText A locator The name of the variable storing the text of the target element. For example: "var_ele_txt"
storeTitle The title to store (auto-generated) The name of the variable storing the title. For example: "var_title"
submit A locator for the form to be submitted X
type A locator The string to be set to an input field.
verifyText A locator The expected string of the target element (Exact matching). The next command will still be run even if the text verification fails.
Variable declared in the storeXXX commands can be used in the string. For example: "Hello ${var_usr}"
verifyTitle The expected string of the title (Exact matching). The next command will still be run even if the text verification fails.
Variable declared in the storeXXX commands can be used in the string. For example: "Hello ${var_usr}"
X

NOTE THAT: chooseCancelOnNextPrompt and editContent are new commands proposed by SideeX.

Free Download and Use

SideeX 2 for Chrome: Install now

SideeX 2 for Firefox 55 onwards: SideeX 2 has not been published in Mozilla Add-ons market yet. But you can manually install it in developer mode

1. Download and unzip the SideeX_2.3.1_Firefox.zip
2. Start Firefox
3. Type "about:debugging" in the navigation bar
4. Click on "Load Temporary Add-on" button
5. Open manifest.json in the unzipped dir and then SideeX will be installed
6. Start SideeX by clicking on the SideeX icon in the toolbar
7. NOTE THAT: SideeX FF new versions will NOT be automatically updated. You have to go back to this official site and check for new versions.

SideeX 0.8.0 for Firefox 33-54: Install now

Quick Start

Step 1. Start Firefox/Chrome and open the web page under test.

Step 2. Click SideeX icon in the browser toolbar

Step 3. Click Record button to start recording operations performed on the web page under test.

Step 4. Right click on a command for more manipulations

 

Step 5. Right click on a test case name to add/remove/rename a test case.

 

Step 6. Right click on a test suite name to save a test suite. All test cases under the test suite will be saved as a single test suite file.

   

Hot Keys

Hot Key

Function

Ctrl + S

Save a test suite

Ctrl + O

Open a test suite file

Ctrl + P

Play this test case

Ctrl + I

Insert a new command

Ctrl + A

Select all commands

Ctrl + X

Cut commands

Ctrl + C

Copy commands

Ctrl + V

Paste commands

Del

Delete the selected commands

Ctrl + B

Toggle a breakpoint

Open Source License

SideeX is released under the Apache 2.0 License. In SideeX, part of Selenium IDE 2.9.1.1 source code is included under Apache 2.0 License.

Github

Report Issues

Report your feedback or issues via GitHub Issues or sideex.org@gmail.com.

 


Copyright © 2016-2017
SideeX Contributors         Twitter: @SideeX_org         FB: @SideeX.org