As part of the ongoing effort to bring Test Design Studio to a new platform, we are having to rewrite a lot of the functionality that is present in Test Design Studio 2. We are taking the time to re-engineer the back-end code that powers each feature as well as updating the user interface to WPF. The latest feature completed is External Tools!
Test Design Studio uses external tools to allow you to integrate with 3rd-party applications. The real benefit to this feature comes in the form of replacement parameters for your command-line arguments. These special parameters are replaced at the time the tool is executed, and the replacement value is determined based on the current state of Test Design Studio.
For example, the “$(ItemPath)” value will always be replaced by the full path of the currently selected file. This makes it easy for you to open the file in another tool or perform other operations on the file. Test Design Studio is smart enough to recognize different states in the application. If you select a document, the “$(ItemPath)” parameter will represent the full path of the open document. If, however, you have selected a file in the Solution Explorer tool window, the “$(ItemPath)” parameter will represent the full path of the selected file.
All of the replacement parameters from Test Design Studio 2 will continue to be supported. As part of the rewrite, it will be much easier for different parts of the application to provide context-sensitive replacement values, and new replacement values can be easily added.
This feature is very versatile, but under-utilized. Hopefully these enhancements to the feature will help it bring new value to your organization. Some customers have even used external tools to provide basic support for version-control systems!
In Test Design Studio 2, you used a very generic “Wizard” interface to configure your tools, and each tool showed up in the ‘Tools’ menu. Time to introduce you to the new interface!
You have four options on the left:
- Execute/Manage External Tool
- Add a New External Tool (shown in screen shot)
- Learn More about External Tools
- Replacement Parameters
In the screen shot above, I am adding ‘Notepad’ as a tool in the ‘Text Editors’ group. All the necessary controls are easily laid out, and tooltips are provided (although not shown above) to guide you on the purpose of each field if needed. The drop-down next to ‘Arguments’ will present you with a listing of all available replacement parameters, and hovering over a menu selection will reveal the purpose of that value.
Need even more assistance on Replacement Parameters? Just select the ‘Replacement Parameters’ tab in the dialog. You will then be presented with all the available replacement parameters and how to use them:
From the ‘Execute/Manage an External Tool’ tab, you can manage your available categories (categories can even have sub-categories… new in Test Design Studio 3), edit your tools, or execute them.
Context menus on the category nodes allow you to create or delete categories, and selecting a tool from the list will present you with the available run, edit, delete actions for that tool.
This dialog is meant primarily to manage your tools. Even though you can execute your tools from the dialog, the process of locating and executing the tool could quickly become time-consuming. That’s why we’ve added the tools directly to the Ribbon interface in the form of a Gallery.
You can easily scroll up/down through the available external tools, and your selection will be retained so you can easily execute the same tool again. If you select the drop-down arrow, you’ll be able to browse the tools by category, and will also find the command to open the full dialog to manage your tools.
Since replacement parameters are meant to be “replaced” with something more meaningful, we have also added a dialog to warn you if you attempt to execute a tool when all the values could not be replaced. This allows you to cancel the tool instead of allowing it to be executed with incomplete command-line arguments.
The one feature currently missing from Test Design Studio 3 is the ability to execute an action before/after the tool is executed (e.g. save a document before running the external tool). This is a feature currently in Test Design Studio 2, and we hope to incorporate the feature in TDS 3 before the launch. If the feature does not make the launch, it will be the target of a follow-up release that we expect to happen with a couple of months of the first release. Due to the large amount of work required to get TDS 3 rewritten and ready for release, some lesser-used features like the external tool actions may have to wait until after the initial launch so that we can get the core product out as soon as possible.
We hope you enjoy the updates to the External Tools feature. The most significant updates were made in the code itself, but hopefully the GUI updates will be a welcome change.
