Update: The final version of V1.7 with 20+ features is released now.
V1.7 beta, released today, added more than a dozen of enhancements such as support for WCF binary, parameterization of headers, and test case editing.
In the Parameterization area the following features were added:
1. Creating extractors from WCF binary responses. To create a text delimited or a regular expression extractor:
a. In the Fiddler grid, select a WCF binary response. The "WCF Binary Viewer" link appears in the Extractor section.
b. Click on this link to pop-up the viewer that decodes the WCF Binary response body and displays in the textual XML-like formant.
c. Copy the text that occurs immediately before the value to be extracted ("-1" in this case) and paste it into the "Starts with" box in the Extractor.
d. Similarly, copy the text that occurs immediately after the text to be extracted and paste it into the "End with" box in the Extractor.
e. Click "Add Extractor".
2. Creating header extractors. To expose a response header value as a custom variable, in the Extractor Type drop-down, select "Header" and in the Header text box specify the response header name. Type the header name in the Header textbox. If you are not sure what the header name is, in the Fiddler grid double clicks on the session, select the Headers response Inspector, right-click on the header and click "view header". Copy the header name from the appeared pop-up window and paste it into the StresStimulus Header extractor.
3. Parameterizing the request's header, URL and the body. Now you can parameterize any part of the request, including headers. Here is the step-by-step process:
f. Select a request in Fiddler. On the data pane, select the tab for the necessary request's part: Header, URL and Query, or Body. If the selected part has the name/value format, the parameterization grid is displayed. Otherwise, the parameterization editor is displayed.
g. In the parameterization grid, click the Value column, and select an extractor or data source from the appeared parameterization control.
h. In the parameterization editor, select the recorded value, right-click, and select an extractor or data source from the parameterization control.
4. Parameterizing WCF binary requests, broadly used in Silverlight applications. Parameterizing WCF binary requests is as easy as regular text encoded requests. When select such request, StresStimulus will decode the response and display its body is text. At the same time, the message "Formant: WCF binary" will appear on the toolbar, as shown on the screenshot above. Simply parameterize such request as a request without WCF binary encoding.
5. Parameterizing name/value pairs from multiple requests at once. In some web applications, the same dynamic parameter may exist in multiple GET or POST requests. For example, in the application where the session ID is marshaled as a query parameter, such parameter will be included in every request. In v1.7 you can simplify parameterization of such test cases by setting multiple identical parameterization rules at once. To do so, select multiple requests in the Fiddler grid. StresStimulus will detect the repeated fields and consolidate them in the single parameterization grid. If some of your selected requests are not in the name/value format, they will be ignored. Internally, the parameterized values for each request are stored separately, so every request parameterization can be further edited individually or in combination with other requests.
6. Create/Edit Dataset in StresStimulus. Now you can create a new Dataset without needing to prepare a csv data file in advance. To do so, in the Test Case -> Parameterization -> Data Source, click New, enter the fields that you will use for parameterization, then enter the data source name and click OK
Once the data source is created, select it and enter the data into the grid displayed on the data pane. You can also edit the structure of the existing data source by selecting the data source and clicking the Edit button.
7. Adding the Dataset from the parameterization editor. Per our customers' feedback, users often realize that they need a Dataset after noticing that it is missing in the parameterization control. For your convenience you can add a data source from the parameterization grid or editor. In the parameterization control click Add Dataset to create a new Dataset as described above.
In the Test Case area, the following features are added:
8. Displaying test case pages and requests in treeview.Now in addition to the Fiddler grid and the page settings grid, the test case is displayed in the hierarchical tree, synchronized with the fiddler grid. When select the request in the treeview, the corresponding request in the fiddler grid gets highlighted. The treeview is used for test case modification as described the next item.
9. Modifying Test Case.In the previous versions, it was difficult or even impossible to modify a test case. When a user needed to modify the test case, re-recording was often the only option. Now you can add, delete, edit and reposition sessions in the test case as following:
- To Add new sessions selected in the Fiddler grid, drag-and-drop them to the desire position on the treeview.
- To Delete the selected request(s) in the Fiddler grid or treeview, hit Delete.
- To reposition the selected in the treeview request or page, drag-and-drop it to a new position.
- To Edit a selected in the Fiddler grid request, hit F2, or right-click and click "Unlock For Editing"and in the Raw Inspector make necessary changes.
The following Recorder enhancements are added:
10. Recorder diagnostic. StresStimulus will detect if it cannot establish communication with the recorder that most often happens when the StresStimulus Recorder and StresStimulus Recorder Helper add-ons are disabled in the Internet Explorer, and will prompt user to enable them.
11. Recorder support for multiple Internet Explorer processes. Previously the recorder was able to capture HTTP traffic from a single IE process only. This created limitation to record traffic from pop-up windows and also non-trusted websites. In the current version this limitation is removed
Other features and enhancements:
12. A new parameter, Page/sec, is added to the Key Indicator graph.
13. Scheduling load tests at periodic intervals. Previously StresStimulus supported load test launch from a command line that opens Fiddler and start the test (see item #4 in this post /blog/post/v09-release-part-3-more ). This command line however does not work when Fiddler is already running. As a result it can be used for scheduling only a single load test.
The new command line works when Fiddler is running, and therefore can be used for Scheduling load tests at periodic intervals.
<Fiddler Program Folder>\ExecAction.exe /ss <Test.ssconfig>
<Fiddler Program Folder> - is the folder where Fiddler is installed, e.g. C:\Program Files\Fiddler2\
Test.ssconfig is a StresStimulus test configuration file. Specify a full path or the default directory
/Fiddler/StresStimulus will be used.
Update: in v2.5 and later, instead of ExecAction.exe, use LaunchFiddler.exe because of its two main benefits:
1. LaunchFiddler provides more reliable communication with Fiddler.
2. LaunchFiddler, unlike ExecAction, can communicate with Fiddler when it is closed. In this case it will launch Fiddler first.
LaunchFiddler.exe is located in %Program Files%\Stimulus Technology\StresStimulus folder.
14. Full installer. The previous StresStimulus versions were distributed through a lightweight installer (size ~ 1.8 Mb) that is designed to load several optional component, (such as SQL CE, and support case uploaded), on demand. This however presented firewall issues in some corporate networks. Starting from v1.7 StresStimulus will be also distributed with the Full installer (size ~ 15 Mb) that includes all components. The full installer should be used when your firewall blocks components on-demand installation.
15. Support for the extractors from dependent request that previously were not supported.
16. Removed influence of the system threat switching overheads on the page response time, that sometimes was exposed in very large tests.
Many fixes are included as well.
v1.7 beta is available for download here.
Related Link: v1.7 Update