title: Protractor Test is extremely slow and often times out
body: <p>I've been battling this test most of the afternoon, I've commented out what I tried to do but it wouldn't work. I have the ability the search for users within the company, a table is then generated and I want to select the one that matches the name of the user. Currently I just use td.text-center as it is the only td in the table, but this seems really poor and prone to breaking if other users with the same name are in the system.</p>
  
  <p>Attempt 2 seems like it would be the best solution but it always gives the element not found error. Has anyone found a reliable way of locating TD within a table? The method below works in other tables, just not this one....</p>
  
  <pre><code>  this.editUser = function(name) {
  
          // Original Code Block
          //browser.actions().mouseMove(element(by.css('td.text-center'))).perform();
          //var editUserBtn = element(by.css('.user-action-open'));
          //editUserBtn.click().then(function() {
          //    var editDetails = element(by.cssContainingText('li &gt; a', 'Edit Details'));
          //    browser.wait(EC.visibilityOf(editDetails), 3000);
          //    editDetails.click();
          //});
  
  
          // Attempt 2
  
          // browser.actions().mouseMove(element(by.css('td.text-center'))).perform();
          //browser.sleep(3000);
          //var edit = element.all(by.repeater('user in users')).filter(function(rowElement){
          //    return rowElement.element.all(by.css('td[ng-bind="user.Firstname"]')).getText().then(function(text){
          //        return text.trim() == name;
          //    });
          //}).first();
          //browser.actions().mouseMove(edit).perform();
  
  
          // Currently just times out and doesn't find the element.
  
          var editUserButton = $('.user-action-open');
          browser.wait(EC.visibilityOf(editUserButton), 20000).then(function() {
              editUserButton.click().then(function() {
                  var editDetails = element(by.cssContainingText('li &gt; a', 'Edit Details'));
                  browser.wait(EC.visibilityOf(editDetails), 3000);
                  editDetails.click();
              });
          });
      }
  </code></pre>