I would like to use Sikuli to automate both GUI apps and Web apps running within browser on Mac OS X and Windows. My purpose is currently less for testing, and more for GUI automation of tedious, repetitive tasks for a team that unfortunately doesn't have lower-level automation access at this time.
I'm thinking that I'd like to build up one or more libraries of screen shots for the GUI apps and Web apps that I can reuse across projects. I'd often be running the same automation steps for different apps or, for Web apps, in different browser/platform combinations.
What are some good strategies for constructing reusable Sikuli screen shot libraries? Some thoughts:
- should I capture screen shots outside of Sikuli, and then slice/dice those images to pull out specific interface elements within Sikuli?
- how can I best keep track of screen shots for equivalent interface elements across similar GUI apps?
- how can I best keep track of screen shots the same Web apps as seen in different browsers or platforms?
- how can I best organize elements that are hierarchical, like menus where you must make choice 1, then choice 2, then choice 3 (but the next choice only appears after the previous one is selected)?
- should screen shots be saved as variables to be able to reference them more generically?
- should I construct Python lists or dictionaries that contain screen shots?
- should I group screen shots into separate Sikuli files based on application/platform?
I'm assuming in all of this that I could import the libraries like a Python module, which certainly seems possible from the documentation.
Thanks!