|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectabbot.script.Step
abbot.script.Sequence
abbot.script.Script
public class Script
Provide a structure to encapsulate actions invoked on GUI components and tests performed on those components. Scripts need to be short and concise (and therefore easy to read/write). Extensions don't have to be.
This takes a single filename as a constructor argument.
Use ScriptFixture and
ScriptTestSuite
to generate a suite by auto-generating a collection of Scripts.
StepRunner,
Fixture,
Launch,
Serialized Form| Field Summary | |
|---|---|
static String |
INTERPRETER
|
protected static String |
UNTITLED
|
static String |
UNTITLED_FILE
|
(package private) static boolean |
validate
|
| Fields inherited from interface abbot.script.XMLConstants |
|---|
TAG_ACTION, TAG_APPLETVIEWER, TAG_ARCHIVE, TAG_ARGS, TAG_ASSERT, TAG_AWT, TAG_AWTTESTSCRIPT, TAG_BORDER_TITLE, TAG_CALL, TAG_CLASS, TAG_CLASSPATH, TAG_CODE, TAG_CODEBASE, TAG_COMMENT, TAG_COMPONENT, TAG_COUNT, TAG_DELEGATE, TAG_DESC, TAG_DOCBASE, TAG_EVENT, TAG_EXPR, TAG_FILENAME, TAG_FIXTURE, TAG_FORKED, TAG_HEIGHT, TAG_HORDER, TAG_ICON, TAG_ID, TAG_INDEX, TAG_INVERT, TAG_INVOKER, TAG_KEYCHAR, TAG_KEYCODE, TAG_KIND, TAG_LABEL, TAG_LAUNCH, TAG_METHOD, TAG_MODIFIERS, TAG_NAME, TAG_PARAMS, TAG_PARENT, TAG_POLL_INTERVAL, TAG_PROPERTY, TAG_ROOT, TAG_SAMPLE, TAG_SCRIPT, TAG_SEQUENCE, TAG_SLOW, TAG_STOP_ON_ERROR, TAG_STOP_ON_FAILURE, TAG_TAG, TAG_TERMINATE, TAG_TEXT, TAG_THREADED, TAG_TIMEOUT, TAG_TITLE, TAG_TRIGGER, TAG_TYPE, TAG_VALUE, TAG_VMARGS, TAG_VORDER, TAG_WAIT, TAG_WEIGHTED, TAG_WIDTH, TAG_WINDOW, TAG_X, TAG_Y |
| Constructor Summary | |
|---|---|
Script()
Deprecated. Use an explicit Hierarchy instead. |
|
Script(Hierarchy h)
|
|
Script(Resolver parent,
Map attributes)
|
|
Script(String filename)
Deprecated. Use an explicit Hierarchy instead. |
|
Script(String filename,
Hierarchy h)
Create a Script from the given file. |
|
| Method Summary | |
|---|---|
ComponentReference |
addComponent(Component comp)
Add a new component reference for the given component. |
void |
addComponentReference(ComponentReference ref)
Add a component reference directly, replacing any existing one with the same ID. |
(package private) ComponentReference |
addComponentReference(Element el)
Add a new component reference to the script. |
Element |
addContent(Element el)
Save component references in addition to everything else. |
void |
addStep(int index,
Step step)
Inserts a step at the given index in the sequence. |
void |
addStep(Step step)
Adds a step to the end of the sequence. |
void |
changeFile(File file)
Deprecated. Use setFile(File). |
void |
clear()
Set up a blank script, discarding any current state. |
static int |
countLines(Sequence seq,
int index)
Return the number of XML lines in the given sequence that precede the given index. |
protected static Map |
createDefaultMap(String filename)
|
Map |
getAttributes()
Provide XML attributes for this Step. |
ComponentReference |
getComponentReference(Component comp)
Return the reference for the given component, or null if none yet exists. |
ComponentReference |
getComponentReference(String name)
Convert the given reference ID into a component reference. |
Collection |
getComponentReferences()
Returns a sorted collection of ComponentReferences. |
String |
getContext(Step step)
Return a meaningful description of where the Step came from. |
ClassLoader |
getContextClassLoader()
Defer to the UIContext to obtain a
ClassLoader, or use the current Thread's
context class loader. |
String |
getDefaultDescription()
Return a default description for this Script. |
File |
getDirectory()
All relative files should be accessed relative to this directory, which is the directory where the script resides. |
File |
getFile()
Return the file where this script is saved. |
static File |
getFile(Step step)
Return the file which defines the given step. |
String |
getFilename()
Return the (possibly relative) path to this script. |
protected String |
getFullXMLString()
|
Hierarchy |
getHierarchy()
Return the currently effective Hierarchy of components. |
static int |
getLine(Step step)
Return the approximate line number of the given step. |
String |
getName()
|
Object |
getProperty(String name)
Provide retrieval of values from temporary storage. |
File |
getRelativeTo()
By default, all pathnames are relative to the current working directory. |
UIContext |
getUIContext()
|
String |
getUsage()
Returns a string describing the proper XML usage for this class. |
String |
getVMArgs()
|
String |
getXMLTag()
Define the XML tag to use for this script step. |
boolean |
hasLaunch()
Return whether this Script is launchable. |
boolean |
hasTerminate()
|
boolean |
isAWTMode()
|
boolean |
isDirty()
Has this script changed since the last save. |
boolean |
isForked()
|
static boolean |
isScript(File file)
Return whether the given file looks like a valid AWT script. |
boolean |
isSlowPlayback()
|
void |
load()
Read the script from the currently set file. |
void |
load(Reader reader)
Loads the XML test script. |
protected void |
parseAttributes(Map map)
Parse XML attributes for the Script. |
protected void |
parseChild(Element el)
|
static File |
resolveRelativeReferences(File file)
It turns out that getAbsolutePath doesn't remove any relative path entries such as .. |
protected void |
runStep(StepRunner runner)
Process each event in our list, using the given runner. |
void |
save()
Write the script to file. |
void |
save(Writer writer)
Write the current state of the script to file. |
void |
setAWTMode(boolean awt)
|
void |
setFile(File file)
Set the file system basis for this script object. |
void |
setForked(boolean fork)
|
void |
setHierarchy(Hierarchy h)
|
void |
setProperty(String name,
Object value)
Provide temporary storage of String values. |
void |
setRelativeTo(File dir)
Indicate that when invoking toXML, a path relative to the given one should be shown. |
void |
setSlowPlayback(boolean slow)
|
void |
setStep(int index,
Step step)
Replaces the step at the given index. |
void |
setVMArgs(String args)
|
String |
toEditableString()
Only thing directly editable on a script is its file path. |
| Methods inherited from class abbot.script.Sequence |
|---|
getStep, indexOf, parseChildren, removeStep, removeStep, runStep, size, steps |
| Methods inherited from class abbot.script.Step |
|---|
addAttributes, createAttributeMap, createStep, createStep, getDescription, getResolver, parseStepAttributes, resolveClass, resolveTester, run, setDescription, setScriptError, simpleClassName, toString, toXML, toXMLString, usage, usage |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final String INTERPRETER
static boolean validate
public static final String UNTITLED_FILE
protected static final String UNTITLED
| Constructor Detail |
|---|
public Script()
Hierarchy instead.
Script. Used as a temporary
Resolver, uses the default Hierarchy.
public Script(String filename)
Hierarchy instead.
Script from the given filename. Uses the
default Hierarchy.
public Script(Hierarchy h)
public Script(String filename,
Hierarchy h)
Script from the given file.
public Script(Resolver parent,
Map attributes)
| Method Detail |
|---|
protected static Map createDefaultMap(String filename)
public void setHierarchy(Hierarchy h)
public String getName()
public void setForked(boolean fork)
public boolean isForked()
public void setVMArgs(String args)
public String getVMArgs()
public boolean isSlowPlayback()
public void setSlowPlayback(boolean slow)
public boolean isAWTMode()
public void setAWTMode(boolean awt)
public File getFile()
public void changeFile(File file)
setFile(File).
public void setFile(File file)
public void save(Writer writer)
throws IOException
IOExceptionpublic String toEditableString()
toEditableString in interface XMLifiabletoEditableString in class Sequencepublic boolean isDirty()
public void save()
throws IOException
IOException
protected void parseChild(Element el)
throws InvalidScriptException
parseChild in class SequenceInvalidScriptExceptionprotected void parseAttributes(Map map)
public void load(Reader reader)
throws InvalidScriptException,
IOException
reader - Provides the script data
InvalidScriptException
IOException
public void addStep(int index,
Step step)
Sequence
addStep in class Sequencepublic void addStep(Step step)
Sequence
addStep in class Sequence
public void setStep(int index,
Step step)
setStep in class Sequence
public void load()
throws IOException
IOExceptionprotected String getFullXMLString()
public String getXMLTag()
Step
getXMLTag in class Sequencepublic Element addContent(Element el)
addContent in class Sequencepublic String getFilename()
public Map getAttributes()
getAttributes in class Step
protected void runStep(StepRunner runner)
throws Throwable
Sequence
runStep in class SequenceThrowablepublic void clear()
clear in class Sequencepublic String getUsage()
Sequence
getUsage in class Sequencepublic String getDefaultDescription()
Script.
getDefaultDescription in class Sequencepublic boolean hasLaunch()
Script is launchable.
public UIContext getUIContext()
UIContext responsible for setting up
a UI context for this script, or
null if the script has no UI to speak of.public ClassLoader getContextClassLoader()
UIContext to obtain a
ClassLoader, or use the current Thread's
context class loader.
getContextClassLoader in interface ResolverThread.getContextClassLoader()public boolean hasTerminate()
public File getRelativeTo()
public void setRelativeTo(File dir)
public static File resolveRelativeReferences(File file)
file - The input file to tidy up.
IllegalArgumentException - If the number of ".." entries outnumber
those of the normal path entries.public static boolean isScript(File file)
public File getDirectory()
getDirectory in interface Resolverpublic Collection getComponentReferences()
getComponentReferences in interface Resolverpublic void addComponentReference(ComponentReference ref)
addComponentReference in interface Resolverpublic ComponentReference addComponent(Component comp)
addComponent in interface Resolver
ComponentReference addComponentReference(Element el)
throws InvalidScriptException
InvalidScriptExceptionpublic ComponentReference getComponentReference(Component comp)
getComponentReference in interface Resolverpublic ComponentReference getComponentReference(String name)
getComponentReference in interface Resolver
public void setProperty(String name,
Object value)
Resolver
setProperty in interface Resolverpublic Object getProperty(String name)
Resolver
getProperty in interface Resolverpublic Hierarchy getHierarchy()
Hierarchy of components.
getHierarchy in interface Resolverpublic String getContext(Step step)
getContext in interface Resolverpublic static File getFile(Step step)
public static int getLine(Step step)
public static int countLines(Sequence seq,
int index)
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||