If you look at the way the jQuery team does it in their unit tests for autocomplete, they use something similar to the following code:
var downKeyEvent = $.Event("keydown");
downKeyEvent.keyCode = $.ui.keyCode.DOWN; // event for pressing "down" key
var enterKeyEvent = $.Event("keydown");
enterKeyEvent.keyCode = $.ui.keyCode.ENTER; // event for pressing "enter" key
$("#autoComplete").val("item"); // enter text to trigger autocomplete
$("#autoComplete").trigger(downKeyEvent); // First downkey invokes search
$("#autoComplete").trigger(downKeyEvent); // Second downkey highlights first item
$("#autoComplete").trigger(enterKeyEvent); // Enter key selects highlighted item
This plunk shows it working