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.
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.
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 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.
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.
Variables can now be in multi-dimensional arrays
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.
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.
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.
Future function sets can be added directly and seamlessly
to Phantom, without the need to re-install.
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