|Developer(s)||Micro Focus International|
|Stable release||13.5 / October 10, 2012|
|Operating system||Microsoft Windows|
|Available in||English, Japanese|
SilkTest is a tool for automated function and regression testing of enterprise applications. It was originally developed by Segue Software which was acquired by Borland in 2006. Borland was acquired by Micro Focus International in 2009.
SilkTest offers various clients:
- SilkTest Classic uses the domain specific 4Test language for automation scripting. It is an object oriented language similar to C++. It uses the concepts of classes, objects, and inheritance.
- Silk4J allows automation in Eclipse using Java as scripting language
- Silk4Net allows the same in Visual Studio using VB or C#
- SilkTest Workbench allows automation testing on a visual level (similar to former TestPartner) as well as using VB.Net as scripting language
Main features of SilkTest
- SilkTest Host: contains all the source script files.
- SilkTest Agent: translates the script commands into GUI commands (User actions). These commands can be executed on the same machine as the host or on a remote machine.
SilkTest identifies all windows and controls of the application under test as objects and defines all of the properties and attributes of each window. Thus it supports object oriented implementation (Partially).
SilkTest can be run to identify mouse movement along with keystrokes (Useful for custom object). It can use both record and playback or descriptive programming methods to capture the dialogs.
Extensions supported by SilkTest: .NET, Java (Swing, SWT), DOM, IE, Firefox, SAP Windows GUI.
SilkTest uses Silk Bitmap Tool (bitview.exe) to capture and compare the windows and areas.
File Types used in SilkTest
Test Plan (.pln): used to create a suite of tests when combined with test scripts. Example : test.pln
- script : Mytest.t
- script : Mytest.t
Where Mytest.t is the main script file and firsttest and secondtest are testcase names in Mytest.t file. When this plan file is run it will automatically pick up first and second testcase in order and run those.
Test script (.t): used to write actual test scripts. Example: Mytest.t (Automating notepad application)
- use "Mytest.inc"
- -testcase firsttest ()
- notepad.invoke()//invoke works for some applications
- -testcase secondtest ()
When this script runs it will execute firsttest and secondtest in order and then exit the notepad application.
Frame file (.inc): The abstraction layer used to define the windows and controls in application under test that will be further referenced in .t files. Example : Mytest.inc
- -Window mainwin notepad
- -Menu File
- Menuitem New
- -Menu Edit
- Menuitem Replace
- -Menu File
Here 'Window' is main class with 'Menu', 'Menuitem' as a subclass. File, Replace are objects.
Result file (.res): contains test run results with the names of passed or failed tests along with a description of the failures. Can also contain log messages.
Other than the results file, all files are text-based and can be edited in a text editor or the SilkTest IDE. As of SilkTest 2006 the files can be saved in either ANSI or UTF-8 formats. All of the source files are compiled into pseudocode object files either when loaded or at run time if the source files are changed.