I've been doing some preliminary searching, but have so far come up mostly inconclusive in finding way to automate interaction with android devices.
Coming from browser automation using https://github.com/segmentio/nightmare and an obvious DOM to interface with, I'm not sure how this might work on a real android device, or what tools are available. I do have an understanding of modern android and java development.
In this case, the goal would be to automate opening an arbitrary app already installed on the phone and without source code access, move a cursor or simulate touch events in specific areas, send keys to focused form fields, and ideally waiting for async events—like file upload—to finish.