Studio:AutoScript: Difference between revisions
No edit summary |
No edit summary |
||
Line 39: | Line 39: | ||
| Collection of functions. | | Collection of functions. | ||
|- | |- | ||
| void '''Initialize (''' <br> String STIDName, <br> String databaseFile, <br> Integer | | void '''Initialize (''' <br> String STIDName, <br> String databaseFile, <br> Integer messageBoxTimeout [optional] <br>''')''' | ||
| Method | | Method | ||
| Initializes and ascript object instance that has been created outside of tghe STRIDE Studio environment. This call is needed only on an explicitly-created ascript instance. This call should not be made on an ascript instance automatically created and injected into a script by STRIDE Studio. | | Initializes and ascript object instance that has been created outside of tghe STRIDE Studio environment. This call is needed only on an explicitly-created ascript instance. This call should not be made on an ascript instance automatically created and injected into a script by STRIDE Studio. |
Revision as of 00:44, 4 July 2008
Introduction
Ascript is the definitive hierarchy of methods, objects, and properties provided by Autosense. While Autosense helps the user find the script methods/data desired in a script, Ascript is the definitive source of what is available from STRIDE when using Autosense.
The ascript object provides functionality that allows host-based scripts to interact with target-based binaries through the STRIDE Runtime. Through ascript, you can:
- call target-based functions and messages (synchronously or asynchronously)
- set and read parameter values orf these functions and messages
- transparently emulate (mock) target-based functions
Automation API
Ascript
When creating a script, the user types in Ascript followed by dot '.' to get Autosense to display. The user may select methods to be used within his script. The user may access property data within his script. this API is the definitive API for Autosense. The following table outlines the main objects and collections available to the user.
Member |
Type |
Description |
Arguments | Collection | Collection of arguments. |
Constants | Collection | Collection of constants. |
Database | Object | Database settings. |
Functions | Collection | Collection of functions. |
void Initialize ( String STIDName, String databaseFile, Integer messageBoxTimeout [optional] ) |
Method | Initializes and ascript object instance that has been created outside of tghe STRIDE Studio environment. This call is needed only on an explicitly-created ascript instance. This call should not be made on an ascript instance automatically created and injected into a script by STRIDE Studio. |
IsEventPending | Property, Read-only, bool |
Contains true if there is at least one event in this script's message queue. Events are retrieved from the queue using ascript.WaitForEvent(); |
LogicalPath | Property, Read-only, String |
Contains the script's path in the STRIDE Studio workspace tree. |
void MessageBox( String message, String title [optional], String type ) |
Method | Displays a model message box dialog. |
Messages | Collection | Collection of messages. |
Output | Property, (String, integer, or object) |
This is the return value from a RunBlocking() call that invoked this script. This works only when the script is invoked using RunBlocking() in the studio object model. |
RspTimeoutPeriod | Property, Integer |
This is the timeout threshold for synchronous function and message calls (in milliseconds). A zero value indicates no timeout. |
ScriptName | Property, Read-only, String |
Contains the name of the currently running script with extension and without path. If the current ascript instance was instantiated and initialized outside of STRIDE Studio, this value will reflect the STIDName passed to ascript.Initialize(). |
void Sleep( Integer period ) |
Method | Time to pause (in milliseconds). Allowable range is 0 -1440000 (24 hours). |
Test Units | Collection | Collection of test units. |
Timers | Collection | Collection of timers. |
Object WaitForEvent ( void ) | Method | Pauses script execution until an event is detected in this script's event queue. |
WaitTimeoutPeriod | Property, String |
The timeout threshold (in milliseconds) for asynchronous function and message calls. A zero value indicates no timeout. |
Ascript.Arguments
Arguments is a collection of arguments contained and managed through Ascript.
Member |
Type |
Description |
object Item ( |
Method |
Retrieves the argument at the given index.
|
Ascript.Arguments.Item
An individual argument is accessed from the collection using the item(#) interface.
Member |
Type |
Description |
Name | Property, Read-only, String |
The argument name. The name may have been specified in the studio automation RunBlocking() or RunNonBlocking() call that launched the script or if not specified the name is synthesized by the ascript object. When synthesized, the name is of the form "Unnamed_N" where 'N' is a monotonically incremented number starting from 0. |
Value | Property, Read-only, String |
The argument value. |
Ascript.Constants
Constants is a collection of constants contained and managed through Ascript.
Member |
Type |
Description |
object Item ( |
Method |
Retrieves the constant at the given index. |
Ascript.Constants.Item
An individual constant is accessed from the collection using the item(#) interface.
Member |
Type |
Description |
Value | Property, Read-only, String |
The value of the constant. |
Ascript.Database
Database is an object containing properties related to the database managed by Ascript. You can combine the values of the database path and name to construct a fully-qualified filename. For example:
var dbFullPath = ascript.Database.Path + "\\" + ascript.Database.Name;
Member |
Type |
Description |
Name | Property, Read-only, String |
The name of the database in use. The database name includes the ".sidb" extension. |
Path |
Property, Read-only, String |
The path to the STRIDE database in use. The path does not contain a trailing backslash. |
Ascript.Functions
Accessing Ascript.Functions properties requires getting ahold of an actual function object. Ascript.Functions is actually a collection. Accessing a single function is performed via ascript.Functions.Item.[property]. Below is a table of function attributes that may be retrieved:
Member |
Type |
Description |
Name | Property, Read-only, bool |
Function's name. |
Owner | Property, Read-only, Object |
Function's owner object. |
SUID | Property, Read-Only, integer |
STRIDE Unique IDentifier assigned by compiler. |
Type | Property, Read-Only, String |
Contains "Function". |
User | Property Read-Only, Object |
Function's user object. |
Ascript.Functions.Item.Owner
Member |
Type |
Description |
IsOverrideRegistered | Property, Read-Only, bool |
Contains true if owner function override is registered. |
IsRegistered | Property, Read-only, bool |
Contains true if owner function is registered. |
Name | Property, Read-only, bool |
Owner name. |
OutPointers | Property, Read-only, ? |
TBD. |
ParameterList | Property, Read-only, integer |
STRIDE Unique IDentifier assigned by compiler. |
HRESULT Register (void) | Method | Registers owner. |
HRESULT RegisterOverride (void) | Method | Registers owner override. |
HRESULT Return ( bool* result ) |
Method | TBD. |
ReturnValue | Property, Read-only, integer |
STRIDE Unique IDentifier assigned by compiler. |
SUID | Property, Read-only, integer |
STRIDE Unique IDentifier assigned by compiler. |
Type | Property, Read-only, String |
Contains "Function". |
HRESULT Unregister (void) | Method | Function's user object. |
HRESULT UnregisterOverride (void) | Method | Function's user object. |
Ascript.Functions.Item.User
Member |
Type |
Description |
HRESULT Call (void) | Method | TBD. |
HRESULTCallBypassOverride (void) | Method | TBD. |
HRESULTCallBypassOverrideNonBlocking (void) | Method | TBD. |
HRESULTCallNonBlocking (void) | Method | TBD. |
IsOverrideRegistered | Property, Read-only, bool |
Contains true if user override is registered. |
IsRegistered | Property, Read-only, bool |
Contains true if user is registered. |
Name | Property, Read-only, bool |
User function name. |
OutPointers | Property, Read-only, ? |
TBD. |
ParameterList | Property, 'Read-only, integer |
STRIDE Unique IDentifier assigned by compiler. |
ReturnValue | Property, Read-only, integer |
STRIDE Unique IDentifier assigned by compiler. |
SUID | Property, Read-only, ,integer |
STRIDE Unique IDentifier assigned by compiler. |
Type | Property, Read-only, String |
Contains "Function". |
Ascript.Messages
Messages is a collection of messages contained and managed through Ascript.
Member |
Type |
Description |
object Item ( |
Method |
Retrieves the message at the given index. |
Ascript.Messages.Item
Member |
Type |
Description |
Owner | Property, Read-only, Object |
Message's owner object. |
SMID | Property, Read-only, integer |
STRIDE Message IDentifier assigned by compiler. |
SUID | Property, Read-only, integer |
STRIDE Unique IDentifier assigned by compiler. |
User | Property, Read-only, Object |
Message's user object. |
Ascript.Messages.Item.Owner
Member |
Type |
Description |
HRESULT Broadcast (void) | Method | Broadcast method. |
HRESULT Register (void) | Method | Register method. |
HRESULT RegisterOverride (void) | Method | Register override method. |
HRESULT SendRsp (void) | Method | Send response method. |
HRESULT Unregister (void) | Method | Unregister method. |
HRESULT UnregisterOverride (void) | Method | Unregister override method. |
Ascript.Messages.Item.User
Member |
Type |
Description |
HRESULT SendAndRead (bool* value) | Method | Send and read method. |
HRESULT SendAndReadBypassOverride ( bool* value ) |
Method | Send and read bypass override method. |
HRESULT SendCmd (void) | Method | Send command method. |
HRESULTSendCmdBypassOverride ( bool* value ) |
Method | Send command bypass override method. |
HRESULTSubscribe (void) | Method | Subscribe method. |
HRESULT Unsubscribe (void) | Method | Unsubscribe method. |
Ascript.TestUnits
TestUnits is a collection of test units contained and managed through Ascript.
Member |
Type |
Description |
object Item ( |
Method |
Retrieves the test unit at the given index. |
Ascript.TestUnits.Item
An individual test unit is accessed from the collection using the item(#) interface.
Member |
Type |
Description |
void Run (void) | Method | Method to run the test unit. |
Suite | Property, object |
The test unit test suite. |
Ascript.Timers
Timers is a collection of timers contained and managed through Ascript.
Member |
Type |
Description |
object Add ( object timerObject ) |
Method |
Adds a new timer object. |
object Item ( integer index ) |
Method |
Retrieves the Timer object for the given index. |
object Remove ( integer index ) |
Method |
Removes the timer at the given index. |
Ascript.Timers.Item
An individual timer is accessed from the collection using the item(#) interface.
Member |
Type |
Description |
Active | Property, Read-only, bool |
Contains true if timer is actively running. |
Id | Property, Read-only, long |
Contains timer identifier. |
Duration | Property, long |
Timer duration in milliseconds. |
Periodic | Property, bool |
Contains true if the timer is periodic. |
void Start (void) | Method |
Starts the timer. |
void Stop (void) | Method |
Stops the timer. |