|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object abbot.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 Script
s.
StepRunner
,
Fixture
,
Launch
,
Serialized FormField 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
IOException
public String toEditableString()
toEditableString
in interface XMLifiable
toEditableString
in class Sequence
public boolean isDirty()
public void save() throws IOException
IOException
protected void parseChild(Element el) throws InvalidScriptException
parseChild
in class Sequence
InvalidScriptException
protected 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 Sequence
public 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
IOException
protected String getFullXMLString()
public String getXMLTag()
Step
getXMLTag
in class Sequence
public Element addContent(Element el)
addContent
in class Sequence
public String getFilename()
public Map getAttributes()
getAttributes
in class Step
protected void runStep(StepRunner runner) throws Throwable
Sequence
runStep
in class Sequence
Throwable
public void clear()
clear
in class Sequence
public String getUsage()
Sequence
getUsage
in class Sequence
public String getDefaultDescription()
Script
.
getDefaultDescription
in class Sequence
public 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 Resolver
Thread.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 Resolver
public Collection getComponentReferences()
getComponentReferences
in interface Resolver
public void addComponentReference(ComponentReference ref)
addComponentReference
in interface Resolver
public ComponentReference addComponent(Component comp)
addComponent
in interface Resolver
ComponentReference addComponentReference(Element el) throws InvalidScriptException
InvalidScriptException
public ComponentReference getComponentReference(Component comp)
getComponentReference
in interface Resolver
public ComponentReference getComponentReference(String name)
getComponentReference
in interface Resolver
public void setProperty(String name, Object value)
Resolver
setProperty
in interface Resolver
public Object getProperty(String name)
Resolver
getProperty
in interface Resolver
public Hierarchy getHierarchy()
Hierarchy
of components.
getHierarchy
in interface Resolver
public String getContext(Step step)
getContext
in interface Resolver
public 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 |