To interact with VMware (Fusion), we leverage (a currently patched) version of Fission gem. This gem takes care of the heavy lifting.
To interact with the screen, Veewee enables VNC on the created VMware Fusion machines and uses the Ruby-VNC gem to send the keystrokes. Sending keystrokes too fast is a problem for this setup as well.