[REBOL] Re: Make_user_manual.r ?
From: greggirwin:mindspring at: 26-Jan-2002 15:54
Hi Brett,
I've just been lurking on this thread.
<< I feel that the scripting should be made into a dialect to make things
easier, but I'm not sure how to go about that. If there
is some kind soul who would do that I'd be grateful, particulary if they
could explain the various steps of analysis, design and implementation for
the dialect. I think that would be really helpful to everyone. >>
I think the functions you've defined are a good starting point.
<< * attempt to make addressing of screen elements easy. >>
FIND <criteria>
- or -
FIND-FACE <criteria>
IN <face/pane>
WINDOW <title> ???
<< * attempt to make setting of values and calling of actions easy >>
CLICK <face, string!(caption)>
ALT-CLICK <face>
SEND-KEYS <keys>
SET-DATA <face> <word> <value>
GET-DATA <face> <word>
ENGAGE <face> <action> <event> ???
<< * take pictures >>
TAKE-SNAPSHOT <file!>
Should there be an easy way to buffer snapshots, or have them
automatically saved, so you don't have to worry about those details
in your play script?
Other commands:
WAIT <integer!, time!>
<< * have embeddable rebol expressions (for specific cases where the dialect
has no pre-defined solution) >>
DO <block!> ???
<< * allow expectations to be verified "application should be in this state"
>>
EXPECT <criteria>
Should people submit ideas for what seems natural to them, and then we can
distill a dialect from that? I.e. have people write sample scripts for
imaginary apps. For example:
play-app [
; Make sure we have the main window to start with
expect window "pick-a-part"
take-snapshot "main"
; Click on the button that displays the part-selection dialog
click find "Select" button in find "Parts" panel in window "pick-a-part"
; The part-selection dialog should now be up
expect window "select part"
take-snapshot "parts-dialog"
; ??? How would we locate a list reliably?
; Alt-clicking should display details for a part
alt-click find first text-list
take-snapshot "part-help"
; hide the part detail display
send-keys "(escape)"
; Make option selection to hide out-of-stock parts
click second option in first panel in window "pick-a-part"
take-snapshot "hide-if-out-of-stock"
; Close the dialog
click "OK"
; Make sure we're back at the main window
expect window "pick-a-part"
click "Quit"
]
--Gregg