Using self-hosted mac runner to run desktop application automation?

Our test team has been using Jenkins to run their nodeJS desktop application automation with success on Mac. I’m attempting to setup a GitHub self-hosted runner to do the same, but it appears the runner service cannot interact with the desktop. These tests use RobotJS to move the mouse and fire key events.

Any tips on setting up a runner for desktop automation? I have the runner running as a service, I have added the node binary to the Security/Privacy->Privacy->Accessibility settings, but it still is not enough to interact with the desktop/keyboard/mouse. I can run the tests via ssh and locally on the host so it’s not an issue with the host itself, just how the tests are being executed through the runner.


In case anyone stumbles upon this, my issue was that I originally added my local install of node at usr/local/bin/node to the Accessibility settings in Security/Privacy->Privacy->Accessibility. I had to also add the runner’s install of node ~/actions-runner/externals/node12/bin/node and /bin/bash (since this is what starts the service I guess :man_shrugging:)