Expanding Selenium IDE Record-Playback Automation Capabilities


SideeX (Selenium IDE Extended)

Selenium IDE is a glorious state-of-the-art integrated development environment for developing Selenium test cases. 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 [sɪdɛks], we attempt to modify and extend Selenium IDE in order to expand the existing Selenium IDE record-playback automation capabilities. The modified and extended version of Selenium IDE is compiled as a Mozilla Firefox Add-on and is available for free download and use.

Automated Web Application Regression Testing

Currently, this project focuses more on expanding Selenium IDE automation capabilities for web application regression testing in Firefox browser. Some automation features provided by SideeX are NOT supported with the exported Web driver-based test cases for cross-browser testing.

Latest Updates

- 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)

Expanded Automation Features

Auto-Generate/Play Commands for Selecting Unnamed Windows and Inner Frames

ID: UnnamedWinIFrameExt

Phase: Recording, Playback

Description: 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

ID: CloseWindowExt

Phase: Recording

Description: 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

ID: AJAXWaitExt

Phase: Playback

Description: 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

ID: PageLoadingWaitExt

Phase: Playback

Description: Automatically force wait for the completion of loading a page before playing a command.

Auto-Wait for DOM Change Completion

ID: DOMModifiedWaitExt

Phase: Playback

Description: 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)

ID: ImplicitWaitExt

Phase: Playback

Description: Automatically force wait until the target element is found before playing a command (also called implicit wait). The default timeout is set to 30 seconds.

Auto-Generate Influential Mouseover and Mouseout Commands

ID: InfluentialMouseoverExt

Phase: Recording

Description: Automatically generate the mouse over and mouse out commands that will cause element insertions.

Auto-Generate Influential Scrolling Commands

ID: InfluentialScrollingExt

Phase: Recording

Description: Automatically generate scrolling commands that will cause element insertions.

Auto-Generate/Play HTML5 and Non-HTML5 Drag and Drop Commands

ID: DragAndDropExt

Phase: Recording, Playback

Description: 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

ID: FormSubmitByEnterKeyExt

Phase: Recording

Description: 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

ID: ClickAtMouseDownUpExt

Phase: Recording, Playback

Description: 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

ID: DoubleClickExt

Phase: Recording, Playback

Description: 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 Feature

ID: SuggestionDropDownExt

Phase: Recording

Description: Automatically generate related commands for autocomplete 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

ID: EditContentExt

Phase: Recording, Playback

Description: 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.

Free Download

Free download the latest version from Mozilla Addons: https://addons.mozilla.org/en-US/firefox/addon/sideex/?src=search

NOTE: After installation, you will see the SideeX icon on the Firefox tool bar . If not, click "Open menu" -> "Customize" -> Drag and drop the SideeX icon to the Firefox tool bar.

Quick Start

Step 1. Open Firefox and close all tabs/windows other than the web page under test.

Step 2. Open SideeX on the Firefox tool bar and use it just like using Selenium IDE. All extensions will be automatically triggered. Click here to refer to the original Selenium IDE documentation.

NOTE: If you are running multiple tabs/windows and suffer from selectWindow errors, try to close SideeX and redo the step 1 and 2.

Open Source License

SideeX is released under the Apache 2.0 License. Click here to obtain the source code.

In SideeX, the Selenium IDE is included from http://seleniumhq.org under Apache 2.0. The Selenium IDE licensing rule and related notices can be found in http://www.seleniumhq.org/about/license.jsp and https://github.com/SeleniumHQ/selenium/blob/master/NOTICE.

Snapshot

 


Feedback

About

Copyright © 2017 SideeX Team