The Phantom Language is a powerful, robust scripting language used to automate interaction with windows and controls in Microsoft Windows operating systems. The language supports common scripting capabilities such as variables, flow control, and user defined functions coupled with a large set of built-in functions designed specifically for automation.
Phantom is very stable, providing a platform for reliable, repeatable automation. With over 200 built-in functions and the ability to create user-defined functions, there is virtually no task that cannot be automated using Phantom.
The following are just a few examples of how Phantom can be used:
Automated Testing - Phantom can be used to automate the testing of Microsoft Windows based applications. Phantom test scripts are a valuable, repeatable addition to any manual testing process.
Regression Testing - Phantom scripts can be used to perform automated regression testing of your product. This is a cost-effective way to ensure new changes to an application dont introduce defects in existing features.
Process Automation - Phantom can be used to automate complex processes requiring user interaction between many different kinds of applications. By using Phantom to automate processes, manual error input errors are eliminated, resulting in a more efficient, stable process.
For more information on Phantom, consult the Phantom documentation or check out the sample scripts in the tutorials or the samples section.
Phantom v2.0
Version 2.0 of the Phantom language represents a complete overhaul of the Phantom system. The script interpreter was redesigned from the ground up to provide a more flexible and robust scripting experience. Additionally, the following new features are supported:
New Variable Types
Phantom v2.0 supports new variable types. Data types such as bitmaps, option sets, registration keys, and more can be accessed through new variable types.
New Functions
A whole suite of new functions are available in version 2.0. New window functions as well as new general functions allow for more control and options for automation. Additionally, future extensions can be loaded using the function package system.
New Keywords
New keywords were added to Phantom version 2.0. The new keywords allow greater control of the state of a script, including the manual removal of previously declared variables and functions.
Exception Handling
Phantom errors, warnings, and failures can now be handled using the try-catch statements. Additionally, scripts can create and throw user-defined exceptions using the new exception data type.
Variable Arrays
Variables can now be in multi-dimensional arrays in Phantom.
Console Mode
Phantom now has a console mode. Phantom commands can by typed directly into a console to be executed real time. This is great for experimenting with new Phantom commands.
Phantom Target Application
Phantom Target, included with the Phantom Interpreter, is a an application containing many window types supported by Phantom. It is provided for use with the many samples included in this documentation, as well as for trying Phantom commands before integrating them with automation scripts.
Bitmap Capture
Using the new bitmap data type and the CaptureBitmap function, individual windows can have their bitmaps captured and saved to a file. Bitmaps can also be loaded from files and compared to other bitmaps.
Script Calling
External Phantom scripts can be inserted into a script at run time. The scripts are run as though they were a part of the calling script. Useful for creating script pre and post processors, declaring global variable sets, and including common user defined function sets.
Expandable
Future function sets can be added directly and seamlessly to Phantom, without the need to re-install.
Variable Scope
The scope of variable declarations is different in Phantom version 2.0. Variables declared in functions and in flow control statements are not available outside those statements (or outside their 'scope'). This is more in line with C and other common programming languages.
|