Solex is a cost-free, open-source tool for testing Web applications that runs inside the Eclipse IDE as a plug-in.
Solex functions as an HTTP proxy and records all HTTP requests and responses that go through the wire between a web client, such as a web browser, and a web server. Recording is done by sending customized HTTP requests to the server and asserting each response. Solex started as an internal project because the developers were unable to find an open-source testing tool that met their needs. In specific, they required a tool that could dynamically alter requests and be fully integrated with their internal development environment based on the Eclipse platform.
Solex introduces the concept of extraction and replacement rules to handle web applications where a request depends on a previous response from the server. Through extraction rules, Solex binds an extracted value with a variable, whereas through replacement rules, it replaces a part of an HTTP message with variable content. The user can extract URL parameters, header values, or any request or response part and replace them with variable content.
For instance, if there are two requests recorded from a web browser, to replay them, Solex needs to modify them to ensure the dynamic_id is different each time. For this Solex can use extraction rules to obtain the value 12345 and a replacement rule to populate the dynamic_id parameter with the extracted value. Solex also allows the addition of assertions for each response. These assertions make sure that the response is valid. If it is not valid, the playback process stops. Solex provides different types of rules and assertions, and the most complicated ones support regular expressions and XPath.
Solex 0.5.0 works with Eclipse Release 2.1.2, Build id: 200311030802, and Solex 0.5.3 works with Eclipse Release 3.1.1, Build id: M20050929-0840. Additionally, JRE 1.4.x or later is required. The newest version of Solex provides several enhancements and bug fixes, such as compliance with Eclipse 3.1.1, SSL support during playback, improved Javadoc, and more. Overall, it is an impressive testing tool that can efficiently handle dynamic requests and responses with ease.
Version 0.5.3 RC1: N/A