AutoMama is an automation framework for desktops. It has several types of tasks which cover ~90% of use cases.
- Clone repo
pipenv install
pipenv run visual <path_to_workflow>.yml
Types of actions and required arguments:
Set default values for some of the variables. If used - should be on the first place in the instruction list.
between_sleep
: [optional][default=1] - Sleep time in seconds between each action.default_match_strategy
: [optional][default=template_matching] - default match strategy for clicks.
Takes screenshot and saves it in path.
path
: [required] - path to output image file with screenshot.
Presses key sequence for example for opening spotlight command+space.
keys
: [required] - list of keys to pres in a sequence.sleep
: [optional][default=0] - time in seconds between key "downs" and key "ups".
Writing text
text
: [required] - text to write.interval
: [optional][default=0.05] time interval in seconds between each key press.
Search for a fragment on the screen from template and click left mouse button.
path
: [required] - path to template image.show
: [optional][default=false] - shows the screen shot of a screen with the template matched on it. Useful if AutoMama is mis-clicking.strategy
: [optional][default=template_matching] - the Computer Vision method to search for a region to click.template_matching
- more accurate but requires template size which exactly matches its size on the screen.sift
- less accurate but is scale-invariant - so the template can be in any size.
Wait until the template is not visible on the screen.
path
: [required] - path to template image.check_interval
: [optional][default=1] - time to sleep between the checksstrategy
: [optional][default=template_matching] - the same as forclick
timeout
: [optional][default=120] - time for seconds after we assume the action failed.
Wait for a template to appear.
path
: [required] - path to template image.check_interval
: [optional][default=1] - time to sleep between the checksstrategy
: [optional][default=template_matching] - the same as forclick
timeout
: [optional][default=120] - time for seconds after we assume the action failed.
Scrolls until the matcher can see the template on the screen.
path
: [required] - path to template image.check_interval
: [optional][default=1] - time to sleep between the checksstrategy
: [optional][default=template_matching] - the same as forclick
timeout
: [optional][default=120] - time for seconds after we assume the action failed.distance
: [optional][default=-10] - how many "clicks" should be scrolled and which direction in every iteration.
Search for a text on the screen using Google OCR (the google API key is needed with Google Vision API enabled)
name
: [required] - human readable name for an actiontext
: [reqired] - a text to be found on the screenshow
: [optional][default=false] shows the screen shot of a screen with all the text found with green rectangle for matched words and red for not matched.
name
: [required] - human readable name for an actiontype
: [required] - type of an action.before_sleep
: [optional] - Sleep time in seconds to sleep before actionafter_sleep
: [optional] - Sleep time in seconds to sleep after action
- tests
- Better document
find_text
- write about how to provide Google Api Key - conditional statements support
- loops support
- variables support - so one could run workflow many times with different data (e.g. for different accounts)
- UI - probably webUI