diff --git a/bigbluebutton-html5/tests/puppeteer/webcam.test.js b/bigbluebutton-html5/tests/puppeteer/webcam.test.js
index 4aaa37f242d7e828a444eeed6dcb7b34e985a3f3..a7fdf455720ea4ff4997eaeb548623e82745dff9 100644
--- a/bigbluebutton-html5/tests/puppeteer/webcam.test.js
+++ b/bigbluebutton-html5/tests/puppeteer/webcam.test.js
@@ -1,13 +1,13 @@
 const Share = require('./webcam/share');
 const Check = require('./webcam/check');
-const LoadingTime = require('./webcam/loadtime');
+const Page = require('./core/page');
 
 describe('Webcam', () => {
   test('Shares webcam', async () => {
     const test = new Share();
     let response;
     try {
-      await test.init();
+      await test.init(Page.getArgsWithVideo());
       response = await test.test();
     } catch (e) {
       console.log(e);
@@ -17,25 +17,11 @@ describe('Webcam', () => {
     expect(response).toBe(true);
   });
 
-  test('Check Webcam loading time', async () => {
-    const test = new LoadingTime();
-    let response;
-    try {
-      await test.init();
-      response = await test.test();
-    } catch (e) {
-      console.log(e);
-    } finally {
-      await test.close();
-    }
-    expect(response).toBeLessThan(parseInt(process.env.CAMERA_SHARE_FAILED_WAIT_TIME));
-  });
-
   test('Checks content of webcam', async () => {
     const test = new Check();
     let response;
     try {
-      await test.init();
+      await test.init(Page.getArgsWithVideo());
       response = await test.test();
     } catch (e) {
       console.log(e);
diff --git a/bigbluebutton-html5/tests/puppeteer/webcam/check.js b/bigbluebutton-html5/tests/puppeteer/webcam/check.js
index 72dc58ffcaf3e1830d258de0f5b237aec1ad0c40..85af2504aa78f2507e96be83f64cbdcb5fcb15ed 100644
--- a/bigbluebutton-html5/tests/puppeteer/webcam/check.js
+++ b/bigbluebutton-html5/tests/puppeteer/webcam/check.js
@@ -7,8 +7,8 @@ class Check extends Share {
   }
 
   async test() {
-    await util.enableWebcam(this.page1);
-    const respUser = await util.webcamContentCheck(this.page1);
+    await util.enableWebcam(this.page);
+    const respUser = await util.webcamContentCheck(this.page);
     return respUser === true;
   }
 }
diff --git a/bigbluebutton-html5/tests/puppeteer/webcam/share.js b/bigbluebutton-html5/tests/puppeteer/webcam/share.js
index 7fcde09dc7d1c1cfffd1e3a900da4e6db9f4fe8e..42c52313814e0d69f5c2f37fa4c3d5144f0941f1 100644
--- a/bigbluebutton-html5/tests/puppeteer/webcam/share.js
+++ b/bigbluebutton-html5/tests/puppeteer/webcam/share.js
@@ -1,36 +1,16 @@
 const Page = require('../core/page');
 const util = require('./util');
-const params = require('../params');
 
-class Share {
+class Share extends Page{
   constructor() {
-    this.page1 = new Page();
-    this.page2 = new Page();
-  }
-
-  async init(meetingId) {
-    await this.page1.init(Page.getArgsWithVideo(), meetingId, { ...params, fullName: 'Streamer1' });
-    await this.page2.init(Page.getArgsWithVideo(), this.page1.meetingId, { ...params, fullName: 'Streamer2' });
-  }
-
-  async initPage(meetingId) {
-    await this.page1.init(Page.getArgsWithVideo(), meetingId, { ...params, fullName: 'Streamer1' });
+    super('webcam-test');
   }
 
   async test() {
-    await util.enableWebcam(this.page1, this.page2);
-    const response = await util.evaluateCheck(this.page1, this.page2);
+    await util.enableWebcam(this.page);
+    const response = await util.evaluateCheck(this.page);
     return response;
   }
-
-  async closePage() {
-    await this.page1.close();
-  }
-
-  async close() {
-    await this.page1.close();
-    await this.page2.close();
-  }
 }
 
 module.exports = exports = Share;
diff --git a/bigbluebutton-html5/tests/puppeteer/webcam/util.js b/bigbluebutton-html5/tests/puppeteer/webcam/util.js
index f805d1ae773d14f9ba334e5c4f990d6a8a92ff84..c9a429d6a2c7a6165dcfa9e6e34b2ca4acaadd42 100644
--- a/bigbluebutton-html5/tests/puppeteer/webcam/util.js
+++ b/bigbluebutton-html5/tests/puppeteer/webcam/util.js
@@ -1,12 +1,12 @@
 const we = require('./elements');
 
-async function enableWebcam(page1) {
+async function enableWebcam(test) {
   // Enabling webcam
-  await page1.waitForSelector(we.joinVideo);
-  await page1.click(we.joinVideo);
-  await page1.waitForSelector(we.videoPreview);
-  await page1.waitForSelector(we.startSharingWebcam);
-  await page1.click(we.startSharingWebcam);
+  await test.waitForSelector(we.joinVideo);
+  await test.click(we.joinVideo);
+  await test.waitForSelector(we.videoPreview);
+  await test.waitForSelector(we.startSharingWebcam);
+  await test.click(we.startSharingWebcam);
 }
 
 async function getTestElement(element) {
@@ -15,8 +15,7 @@ async function getTestElement(element) {
 
 async function evaluateCheck(test) {
   await test.waitForSelector(we.videoContainer);
-  await test.waitForSelector(we.webcamConnectingStatus);
-  const videoContainer = await test.page.evaluate(getTestElement, we.presentationFullscreenButton);
+  const videoContainer = await test.evaluate(getTestElement, we.presentationFullscreenButton);
   const response = videoContainer !== null;
   return response;
 }
@@ -29,7 +28,7 @@ async function startAndCheckForWebcams(test) {
 
 async function webcamContentCheck(test) {
   await test.waitForSelector(we.videoContainer);
-  await test.page.waitForFunction(() => !document.querySelector('[data-test="webcamConnecting"]'));
+  await test.waitForFunction(() => !document.querySelector('[data-test="webcamConnecting"]'));
 
   const repeats = 5;
   let check;
@@ -58,8 +57,8 @@ async function webcamContentCheck(test) {
       }
     };
 
-    check = await test.page.evaluate(checkCameras, i);
-    await test.page.waitFor(parseInt(process.env.LOOP_INTERVAL));
+    check = await test.evaluate(checkCameras, i);
+    await test.waitFor(parseInt(process.env.LOOP_INTERVAL));
   }
   return check === true;
 }