Skip to content

Commit

Permalink
fix: use count for double click (#524)
Browse files Browse the repository at this point in the history
  • Loading branch information
jrandolf-2 authored Apr 26, 2023
1 parent 82d6955 commit f64a501
Show file tree
Hide file tree
Showing 7 changed files with 19 additions and 35 deletions.
6 changes: 3 additions & 3 deletions __snapshots__/LighthouseStringifyExtension.test.ts.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
exports['LighthouseStringifyExtension handles ending timespan 1'] = `
const fs = require('fs');
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -61,7 +61,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later

exports['LighthouseStringifyExtension handles ending navigation 1'] = `
const fs = require('fs');
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -133,7 +133,7 @@ exports[
'LighthouseStringifyExtension handles multiple sequential navigations 1'
] = `
const fs = require('fs');
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down
2 changes: 1 addition & 1 deletion __snapshots__/lighthouse.test.ts.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ exports[
'Lighthouse user flow run via stringify produces a valid desktop flow report 1'
] = `
const fs = require('fs');
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down
20 changes: 10 additions & 10 deletions __snapshots__/stringify.test.ts.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
exports['stringify should print the correct script for a navigate step 1'] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -259,7 +259,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later
exports[
'stringify should print the correct script for a emulateNetworkCondition step 1'
] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -524,7 +524,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later
exports[
'stringify should print the correct script if the target is not the main page 1'
] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -795,7 +795,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later
`;

exports['stringify should use step and flow timeouts 1'] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -1069,7 +1069,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later
exports[
'stringify should print the correct script if the step is within an iframe 1'
] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -1341,7 +1341,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later
`;

exports['stringify should print the correct script for a keydown step 1'] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -1599,7 +1599,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later
`;

exports['stringify should print the correct script for a keyup step 1'] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -1857,7 +1857,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later
`;

exports['stringify should print the correct script for scroll events 1'] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -2127,7 +2127,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later
exports[
'stringify should print the correct script for waitForElement steps 1'
] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down Expand Up @@ -2392,7 +2392,7 @@ const puppeteer = require('puppeteer'); // v13.0.0 or later
exports[
'stringify should print the correct script for waitForExpression steps 1'
] = `
const puppeteer = require('puppeteer'); // v13.0.0 or later
const puppeteer = require('puppeteer'); // v19.11.1 or later
(async () => {
const browser = await puppeteer.launch({headless: 'new'});
Expand Down
2 changes: 1 addition & 1 deletion package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@
"typescript": "4.8.4"
},
"peerDependencies": {
"puppeteer": ">=19.11.0",
"puppeteer": ">=19.11.1",
"lighthouse": ">=10.0.0"
},
"peerDependenciesMeta": {
Expand Down
9 changes: 1 addition & 8 deletions src/PuppeteerRunnerExtension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -129,14 +129,7 @@ export class PuppeteerRunnerExtension extends RunnerExtension {
}
startWaitingForEvents();
await element.click({
button: step.button && mouseButtonMap.get(step.button),
offset: {
x: step.offsetX,
y: step.offsetY,
},
});
await element.click({
clickCount: 2,
count: 2,
button: step.button && mouseButtonMap.get(step.button),
delay: step.duration,
offset: {
Expand Down
13 changes: 2 additions & 11 deletions src/PuppeteerStringifyExtension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ import { formatJSONAsJS } from './JSONUtils.js';
export class PuppeteerStringifyExtension extends StringifyExtension {
override async beforeAllSteps(out: LineWriter, flow: UserFlow) {
out.appendLine(
"const puppeteer = require('puppeteer'); // v13.0.0 or later"
"const puppeteer = require('puppeteer'); // v19.11.1 or later"
);
out.appendLine('');
out.appendLine('(async () => {').startBlock();
Expand Down Expand Up @@ -171,16 +171,7 @@ export class PuppeteerStringifyExtension extends StringifyExtension {
#appendDoubleClickStep(out: LineWriter, step: DoubleClickStep): void {
this.#appendWaitForSelector(out, step);
out.appendLine('await element.click({');
if (step.button) {
out.appendLine(` button: '${mouseButtonMap.get(step.button)}',`);
}
out.appendLine(' offset: {');
out.appendLine(` x: ${step.offsetX},`);
out.appendLine(` y: ${step.offsetY},`);
out.appendLine(' },');
out.appendLine('});');
out.appendLine('await element.click({');
out.appendLine(` clickCount: 2,`);
out.appendLine(` count: 2,`);
if (step.duration) {
out.appendLine(` delay: ${step.duration},`);
}
Expand Down

0 comments on commit f64a501

Please sign in to comment.