Even we faced the same problem when tried to automate angular ui-grid tables. The solution is to use Jquery scrollLeft()
and scrollRight()
methods to automatically scroll the table.
var uiGridViewPort = $('.ui-grid-header-viewport');
var scrollLeftPixel = 500;
browser.executeScript("$(arguments[0]).scrollLeft( arguments[0].scrollLeft + "+scrollLeftPixel+")", uiGridViewPort.getWebElement());
The above piece of code will scroll the ui-grid table by 500px towards left and column will be automatically added to the right side. But the caveat here is, Columns on the left side will be removed when the table is scrolled.