Skip to content

automation-for-humans/dsl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

20 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dsl-for-humans

The lex and yacc definitions and the compiler for the [DSL] in [automation-for-humans].

Usage

To compile :

make all

To parse an input file say, sample-inputs/public-sites/github-nav-demo.txt, type :

# No need to give .txt extension
make validate src=sample-inputs/public-sites/github-nav-demo

English Keywords

Keyword Use Example
open Used to open a url/application open "https://github.com/"
click Used to click on an element click on "Issues"
type Used to type a string in some element type "afh-random-user" in "Pick a username"
wait Wait's for a particular amount of time in seconds wait for "10"
hover Used to hover over an element hover on "Fragments"
execjs Used to execute javascript inside the browser context execjs "localStorage.setItem('random-key', 'false');"

Advanced Keywords Use

Keyword Use Example
click Used to click on an element with id "issues-id" click on "issues-id" "id"
click if present Used to click on an element if its present click if present on "issues-id"
type Used to type a string in some element with class name "#user-name" type "afh-random-user" in "#user-name" "class"

Resolving ambiguity

Keyword Use Example
click Used to click on the 2nd issue click on 2nd "issue"
type Used to type a string in the 4th text box named "enter text here" type "afh-random-user" in 4th "enter text here"

Mac OS X UI Automation

Keyword Use Example
wait until Used to wait until the element is visible wait until "/AXApplication[@AXTitle='Calculator']"

About

Contains the lex and yacc DSL specification for automation-for-humans

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages