From b2ed1bcebb73b02a79f182f6070bb95fa54c53b4 Mon Sep 17 00:00:00 2001 From: Adam Raine Date: Fri, 19 Aug 2022 10:55:41 -0700 Subject: [PATCH] Fix stringified button click type --- __snapshots__/stringify.test.ts.js | 50 ++++++++++++++++++++++++------ src/PuppeteerStringifyExtension.ts | 9 ++++-- 2 files changed, 46 insertions(+), 13 deletions(-) diff --git a/__snapshots__/stringify.test.ts.js b/__snapshots__/stringify.test.ts.js index 5cf24faf..bcec6d66 100644 --- a/__snapshots__/stringify.test.ts.js +++ b/__snapshots__/stringify.test.ts.js @@ -156,7 +156,10 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; @@ -325,7 +328,10 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; @@ -498,7 +504,10 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; @@ -670,7 +679,10 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; @@ -844,7 +856,10 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; @@ -1006,7 +1021,10 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; @@ -1168,7 +1186,10 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; @@ -1336,7 +1357,10 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; @@ -1500,7 +1524,10 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; @@ -1664,6 +1691,9 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later } throw new Error('Timed out'); } -})(); +})().catch(err => { + console.error(err); + process.exit(1); +}); `; diff --git a/src/PuppeteerStringifyExtension.ts b/src/PuppeteerStringifyExtension.ts index c3879228..0dc7778d 100644 --- a/src/PuppeteerStringifyExtension.ts +++ b/src/PuppeteerStringifyExtension.ts @@ -63,7 +63,10 @@ export class PuppeteerStringifyExtension extends StringifyExtension { for (const line of helpers.split('\n')) { out.appendLine(line); } - out.endBlock().appendLine('})();'); + out.endBlock().appendLine('})().catch(err => {').startBlock(); + out.appendLine('console.error(err);'); + out.appendLine('process.exit(1);'); + out.endBlock().appendLine('});'); } override async stringifyStep(out: LineWriter, step: Step, flow: UserFlow) { @@ -145,7 +148,7 @@ export class PuppeteerStringifyExtension extends StringifyExtension { out.appendLine(` delay: ${step.duration},`); } if (step.button) { - out.appendLine(` button: ${mouseButtonMap.get(step.button)},`); + out.appendLine(` button: '${mouseButtonMap.get(step.button)}',`); } out.appendLine(' offset: {'); out.appendLine(` x: ${step.offsetX},`); @@ -159,7 +162,7 @@ export class PuppeteerStringifyExtension extends StringifyExtension { out.appendLine('await element.click({'); out.appendLine(` clickCount: 2,`); if (step.button) { - out.appendLine(` button: ${mouseButtonMap.get(step.button)},`); + out.appendLine(` button: '${mouseButtonMap.get(step.button)}',`); } out.appendLine(' offset: {'); out.appendLine(` x: ${step.offsetX},`);