[CORD-1133] E2E GUI Tests

Change-Id: I521d0cc068a3e328f3d4f421ba4b342bea167e19
(cherry picked from commit d3b57a10471fcaf579707d636c0dbeb9328bae33)
diff --git a/e2e/test_helpers/user.js b/e2e/test_helpers/user.js
new file mode 100644
index 0000000..9acf2aa
--- /dev/null
+++ b/e2e/test_helpers/user.js
@@ -0,0 +1,36 @@
+const fs = require('fs');
+const config = require('./config');
+const P = require('bluebird');
+
+const username = 'xosadmin@opencord.org';
+
+const getPwd = () => {
+
+  if (process.env.UI_PWD) {
+    return process.env.UI_PWD;
+  }
+
+  const pwdFile = fs.readFileSync('../../build/platform-install/credentials/xosadmin@opencord.org', 'utf8');
+  return pwdFile;
+};
+
+exports.pwd = getPwd();
+
+exports.username = username;
+
+exports.login = P.promisify((done) => {
+  browser.get(`${config.url}/login`);
+
+  browser.getCurrentUrl()
+    .then((url) => {
+      // NOTE login only if it is not yet
+      if (url.indexOf('login') !== -1) {
+        const loginPage = require('../login/login.po');
+        loginPage.sendUsername(username);
+        loginPage.sendPassword(getPwd());
+        loginPage.submit();
+      }
+      browser.waitForAngular();
+      done();
+    });
+});
\ No newline at end of file