summaryrefslogtreecommitdiff
path: root/src/handlers/launchUserSession.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/handlers/launchUserSession.js')
-rw-r--r--src/handlers/launchUserSession.js25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/handlers/launchUserSession.js b/src/handlers/launchUserSession.js
new file mode 100644
index 0000000..58dde62
--- /dev/null
+++ b/src/handlers/launchUserSession.js
@@ -0,0 +1,25 @@
+const puppeteer = require('puppeteer');
+const { clickElementBySelector } = require('./utils.js');
+
+const { EDUFPMI_URL } = process.env;
+
+const launchUserSession = (user, headless = true) => puppeteer.launch({ headless })
+ .then(async browser => {
+ const { username, password } = user;
+ const page = await browser.newPage();
+
+ // Login
+ await page.goto(EDUFPMI_URL, { waitUntil: 'domcontentloaded' });
+ await page.type('input#username', username);
+ await page.type('input#password', password);
+ await Promise.all([
+ clickElementBySelector(page, 'button#loginbtn'),
+ page.waitForNavigation()
+ ]);
+ console.log(`Logged in as ${username}`);
+
+ return browser;
+ });
+
+module.exports = launchUserSession;
+