Phantom Automation Language
Encyclopedia
The Phantom language is a Graphical User Interface (GUI) automation technology developed by Phantom Automated Solutions, Inc. It is used to perform automated GUI testing and for general process automation. Phantom currently supports the automation of Microsoft Windows based graphical interfaces.
Additionally, the Phantom language includes automation specific function sets:
A simple example of a Phantom script is below:
An example of a script calling a window using window declarations is below:
Some features of PTD include:
A precursor to the existing Phantom engine was released in 1999 as Phantom version 0.9.
The Phantom language
Automation is accomplished by interpreting a set of commands written using the Phantom scripting language. The Phantom scripting language has a syntax similar to the C language. It includes capabilities common to any high-level scripting language such as:- Script flow control
- Multi-dimensional variables
- User defined functions
- Exception handling
- Complex variable types
Additionally, the Phantom language includes automation specific function sets:
- Window control interaction functions
- System interaction functions
- Bitmap capture and control functions
- Registry interaction functions
- Mouse and keyboard simulation functions
A simple example of a Phantom script is below:
# Phantom Sample Script
use "hello.dec";
string notepad = "notepad.exe";
string welcome = "Hello, welcome to Phantom!!!";
System(notepad);
Notepad.Edit1.TypeKeys(welcome);
Window Declarations
Phantom scripts interact with windows through the use of Window Declarations. Window Declarations are text files created using the freely available Window Declarations Recorder. These text files contain information about each window and control to be automated. The declarations are in hierarchical form so that each window or control is referenced to its parent window. By using this method, as opposed to coordinate-based automation, a window or control can be moved or resized without breaking automation scripts.An example of a script calling a window using window declarations is below:
use "MyWin.dec"; # Include the window declarations file
MyWin.MyControl.SetText("Sample Text"); # Set the control text
MyWin.MyControl.MouseClick(0, 1, 1, 0); # Simulate a mouse click in 'MyControl'
Commercial products
There are three primary products supplied by Phantom Automated Solutions, Inc. that support Phantom automation technology.Phantom Test Driver
The Phantom Test Driver (PTD) application is a Microsoft Windows GUI based IDE for the Phantom language. Its primary purpose is to support large scale GUI test automation processes. It supports Phantom script development through a built-in script editor and debugger. PTD handles test automation by grouping similar test cases into groups called Suites. PTD can execute entire groups of test cases by running a single Suite.Some features of PTD include:
- Color-coded script editor
- Built-in, fully functional Phantom script debugger
- Automation organization through the use of script Suites
- Script and Suite output collection and display
- Built-in script recorder utility
- Built-in Window Declarations Editor
- Remote machine automation using the Phantom Remote Agent
Phantom Sidekick
Phantom Sidekick is a small utility that uses Phantom scripts to automate repetitive processes. Its primary use is to act a 'system wide' macro, with a single script automating multiple applications. Scripts can be triggered using a user-defined key combination or by scheduling the script using the built-in scheduler. Phantom Sidekick includes a script recorder, a script scheduler, a task-bar script execution menu, and a script editor.Phantom Command Line Utility
The Phantom Command Line Utility is a freely available DOS based utility used to run Phantom scripts. The Phantom Command Line Utility was the original automation tool developed by Phantom Automated Solutions, Inc. The current version (2.0) can run any Phantom script, including those developed using the Phantom Test Driver and Phantom Sidekick applications. The Phantom Command Line Utility includes a script recorder, a Window Declaration recorder, and a target application used to test Phantom automation commands.History
Phantom version 1.0 was released in 2000. Version 2.0 of the Phantom Test Driver and Phantom Command Line Utility, as well as version 2.1 of Phantom Sidekick was released in 2008. The new releases represent a major structural change to the underlying automation engine.A precursor to the existing Phantom engine was released in 1999 as Phantom version 0.9.