diff --git a/README.md b/README.md index 3ecd2dfb1..a6aff7d53 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,7 @@ module.exports = { "compilerOptions": { "allowJs": true, "baseUrl": "../../node_modules", - "types": ["cypress", "@types/puppeteer-core", "@synthetixio/synpress/support"], + "types": ["cypress", "@types/puppeteer-core", "@synthetixio/synpress/support", "cypress-wait-until", "@testing-library/cypress"], "outDir": "./output" }, "include": ["**/*.*"] diff --git a/package-lock.json b/package-lock.json index 50333c04c..80e45745f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -5688,11 +5688,6 @@ } } }, - "puppeteer-recorder": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/puppeteer-recorder/-/puppeteer-recorder-1.0.7.tgz", - "integrity": "sha512-SgJ8U/HP6iiH3saNYOk/fddnEYdX1spDgfi3yxrvHsywvahD8vPO6gqvFXkAn4R6LVO9SOpgPNFhCjCMkv36IQ==" - }, "qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", diff --git a/package.json b/package.json index 2c43a85d3..d2287f538 100644 --- a/package.json +++ b/package.json @@ -68,7 +68,6 @@ "node-fetch": "2.6.1", "prettier": "2.2.1", "puppeteer-core": "5.5.0", - "puppeteer-recorder": "1.0.7", "start-server-and-test": "1.11.6", "unzipper": "0.10.11" }, diff --git a/plugins/index.js b/plugins/index.js index 36bfa44a7..fc5deabdf 100644 --- a/plugins/index.js +++ b/plugins/index.js @@ -2,7 +2,6 @@ const path = require('path'); const fs = require('fs'); const helpers = require('../helpers'); const puppeteer = require('puppeteer-core'); -const { recordPuppeteer } = require('puppeteer-recorder'); const fetch = require('node-fetch'); const { pageElements } = require('../pages/metamask/page'); const { @@ -59,6 +58,12 @@ module.exports = (on, config) => { }); on('task', { + error(message) { + console.error('\u001B[31m', 'ERROR:', message, '\u001B[0m'); + }, + warn(message) { + console.warn('\u001B[33m', 'WARNING:', message, '\u001B[0m'); + }, initPuppeteer: async () => { const connected = await initPuppeteer(); return connected; @@ -110,12 +115,6 @@ module.exports = (on, config) => { await initPuppeteer(); await assignWindows(); - // record puppeteer browser - await record( - puppeteerBrowser, - `${helpers.getSynpressPath()}/puppeteer.webm`, - ); - // no suitable element to wait for await metamaskWindow.waitForTimeout(1000); if ((await metamaskWindow.$(unlockPageElements.unlockPage)) === null) { await confirmMetamaskWelcomePage(); @@ -229,18 +228,6 @@ async function assignWindows() { return true; } -async function record(browser, path) { - await recordPuppeteer({ - browser: browser, - output: path, - fps: 60, - frames: 60 * 5, - prepare: function () {}, - render: function () {}, - }); - return true; -} - async function switchToCypressWindow() { await mainWindow.bringToFront(); return true; diff --git a/support/commands.js b/support/commands.js index 5421b71a7..22fb5c2f6 100644 --- a/support/commands.js +++ b/support/commands.js @@ -1,13 +1,6 @@ import '@testing-library/cypress/add-commands'; import 'cypress-wait-until'; -Cypress.Commands.add('getId', name => { - if (name.includes('@')) { - return cy.get(`${name}`); - } - return cy.get(`[data-testid="${name}"]`).as(name); -}); - Cypress.Commands.add('getDesktopSizes', () => { return [ [1366, 768], diff --git a/support/index.d.ts b/support/index.d.ts index d54a51ef7..856bc2ad0 100644 --- a/support/index.d.ts +++ b/support/index.d.ts @@ -1,12 +1,5 @@ declare namespace Cypress { interface Chainable { - /** - * Get element using data-testid and sets an alias for it - * @example - * cy.getId('dataTestId') - * cy.getId('alias') - */ - getId(testid: string): Chainable; /** * Get the most popular desktop resolutions * @example diff --git a/support/index.js b/support/index.js index 521baad43..53d376ab7 100644 --- a/support/index.js +++ b/support/index.js @@ -3,6 +3,18 @@ import { configure } from '@testing-library/cypress'; configure({ testIdAttribute: 'data-testid' }); +Cypress.on('window:before:load', win => { + cy.stub(win.console, 'error').callsFake(message => { + cy.now('task', 'error', message); + // fail test on browser console error + // throw new Error(message); + }); + + cy.stub(win.console, 'warn').callsFake(message => { + cy.now('task', 'warn', message); + }); +}); + before(() => { cy.setupMetamask(); });