@browserless.io/browserless 2.29.0-beta-1 → 2.29.0-beta-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/browsers/browsers.playwright.js +3 -1
- package/build/routes/chrome/http/content.post.body.json +8 -8
- package/build/routes/chrome/http/pdf.post.body.json +8 -8
- package/build/routes/chrome/http/scrape.post.body.json +8 -8
- package/build/routes/chrome/http/screenshot.post.body.json +8 -8
- package/build/routes/chrome/tests/websocket.spec.js +51 -0
- package/build/routes/chromium/http/content.post.body.json +8 -8
- package/build/routes/chromium/http/pdf.post.body.json +8 -8
- package/build/routes/chromium/http/scrape.post.body.json +8 -8
- package/build/routes/chromium/http/screenshot.post.body.json +8 -8
- package/build/routes/chromium/tests/pdf.spec.js +0 -1
- package/build/routes/chromium/tests/websocket.spec.js +51 -0
- package/build/routes/edge/http/content.post.body.json +8 -8
- package/build/routes/edge/http/pdf.post.body.json +8 -8
- package/build/routes/edge/http/scrape.post.body.json +8 -8
- package/build/routes/edge/http/screenshot.post.body.json +8 -8
- package/build/routes/edge/tests/websocket.spec.js +34 -0
- package/package.json +3 -3
- package/src/browsers/browsers.playwright.ts +4 -1
- package/src/routes/chrome/tests/websocket.spec.ts +70 -0
- package/src/routes/chromium/tests/pdf.spec.ts +0 -1
- package/src/routes/chromium/tests/websocket.spec.ts +70 -0
- package/src/routes/edge/tests/websocket.spec.ts +49 -0
- package/static/docs/swagger.json +9 -9
- package/static/docs/swagger.min.json +9 -9
- package/static/function/client.js +234 -559
- package/static/function/index.html +234 -559
|
@@ -33,7 +33,9 @@ class BasePlaywright extends EventEmitter {
|
|
|
33
33
|
makeLaunchOptions(opts) {
|
|
34
34
|
// Strip headless=old as it'll cause issues with newer Chromium
|
|
35
35
|
const args = (opts.args ?? []).filter((a) => !a.includes('--headless=old'));
|
|
36
|
-
|
|
36
|
+
const hasHeadless = args.some((a) => a.startsWith('--headless')) ||
|
|
37
|
+
opts.headless !== undefined; // check for undefinity, since it can be set to false as well
|
|
38
|
+
if (!hasHeadless) {
|
|
37
39
|
args.push('--headless=new');
|
|
38
40
|
}
|
|
39
41
|
return {
|
|
@@ -463,14 +463,14 @@
|
|
|
463
463
|
"length": {
|
|
464
464
|
"type": "number"
|
|
465
465
|
},
|
|
466
|
-
"__@toStringTag@
|
|
466
|
+
"__@toStringTag@29617": {
|
|
467
467
|
"type": "string",
|
|
468
468
|
"const": "Uint8Array"
|
|
469
469
|
}
|
|
470
470
|
},
|
|
471
471
|
"required": [
|
|
472
472
|
"BYTES_PER_ELEMENT",
|
|
473
|
-
"__@toStringTag@
|
|
473
|
+
"__@toStringTag@29617",
|
|
474
474
|
"buffer",
|
|
475
475
|
"byteLength",
|
|
476
476
|
"byteOffset",
|
|
@@ -505,13 +505,13 @@
|
|
|
505
505
|
"byteLength": {
|
|
506
506
|
"type": "number"
|
|
507
507
|
},
|
|
508
|
-
"__@toStringTag@
|
|
508
|
+
"__@toStringTag@29617": {
|
|
509
509
|
"type": "string"
|
|
510
510
|
}
|
|
511
511
|
},
|
|
512
512
|
"additionalProperties": false,
|
|
513
513
|
"required": [
|
|
514
|
-
"__@toStringTag@
|
|
514
|
+
"__@toStringTag@29617",
|
|
515
515
|
"byteLength"
|
|
516
516
|
]
|
|
517
517
|
},
|
|
@@ -521,18 +521,18 @@
|
|
|
521
521
|
"byteLength": {
|
|
522
522
|
"type": "number"
|
|
523
523
|
},
|
|
524
|
-
"__@species@
|
|
524
|
+
"__@species@29655": {
|
|
525
525
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
526
526
|
},
|
|
527
|
-
"__@toStringTag@
|
|
527
|
+
"__@toStringTag@29617": {
|
|
528
528
|
"type": "string",
|
|
529
529
|
"const": "SharedArrayBuffer"
|
|
530
530
|
}
|
|
531
531
|
},
|
|
532
532
|
"additionalProperties": false,
|
|
533
533
|
"required": [
|
|
534
|
-
"__@species@
|
|
535
|
-
"__@toStringTag@
|
|
534
|
+
"__@species@29655",
|
|
535
|
+
"__@toStringTag@29617",
|
|
536
536
|
"byteLength"
|
|
537
537
|
]
|
|
538
538
|
},
|
|
@@ -608,14 +608,14 @@
|
|
|
608
608
|
"length": {
|
|
609
609
|
"type": "number"
|
|
610
610
|
},
|
|
611
|
-
"__@toStringTag@
|
|
611
|
+
"__@toStringTag@74047": {
|
|
612
612
|
"type": "string",
|
|
613
613
|
"const": "Uint8Array"
|
|
614
614
|
}
|
|
615
615
|
},
|
|
616
616
|
"required": [
|
|
617
617
|
"BYTES_PER_ELEMENT",
|
|
618
|
-
"__@toStringTag@
|
|
618
|
+
"__@toStringTag@74047",
|
|
619
619
|
"buffer",
|
|
620
620
|
"byteLength",
|
|
621
621
|
"byteOffset",
|
|
@@ -650,13 +650,13 @@
|
|
|
650
650
|
"byteLength": {
|
|
651
651
|
"type": "number"
|
|
652
652
|
},
|
|
653
|
-
"__@toStringTag@
|
|
653
|
+
"__@toStringTag@74047": {
|
|
654
654
|
"type": "string"
|
|
655
655
|
}
|
|
656
656
|
},
|
|
657
657
|
"additionalProperties": false,
|
|
658
658
|
"required": [
|
|
659
|
-
"__@toStringTag@
|
|
659
|
+
"__@toStringTag@74047",
|
|
660
660
|
"byteLength"
|
|
661
661
|
]
|
|
662
662
|
},
|
|
@@ -666,18 +666,18 @@
|
|
|
666
666
|
"byteLength": {
|
|
667
667
|
"type": "number"
|
|
668
668
|
},
|
|
669
|
-
"__@species@
|
|
669
|
+
"__@species@74085": {
|
|
670
670
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
671
671
|
},
|
|
672
|
-
"__@toStringTag@
|
|
672
|
+
"__@toStringTag@74047": {
|
|
673
673
|
"type": "string",
|
|
674
674
|
"const": "SharedArrayBuffer"
|
|
675
675
|
}
|
|
676
676
|
},
|
|
677
677
|
"additionalProperties": false,
|
|
678
678
|
"required": [
|
|
679
|
-
"__@species@
|
|
680
|
-
"__@toStringTag@
|
|
679
|
+
"__@species@74085",
|
|
680
|
+
"__@toStringTag@74047",
|
|
681
681
|
"byteLength"
|
|
682
682
|
]
|
|
683
683
|
},
|
|
@@ -510,14 +510,14 @@
|
|
|
510
510
|
"length": {
|
|
511
511
|
"type": "number"
|
|
512
512
|
},
|
|
513
|
-
"__@toStringTag@
|
|
513
|
+
"__@toStringTag@162985": {
|
|
514
514
|
"type": "string",
|
|
515
515
|
"const": "Uint8Array"
|
|
516
516
|
}
|
|
517
517
|
},
|
|
518
518
|
"required": [
|
|
519
519
|
"BYTES_PER_ELEMENT",
|
|
520
|
-
"__@toStringTag@
|
|
520
|
+
"__@toStringTag@162985",
|
|
521
521
|
"buffer",
|
|
522
522
|
"byteLength",
|
|
523
523
|
"byteOffset",
|
|
@@ -552,13 +552,13 @@
|
|
|
552
552
|
"byteLength": {
|
|
553
553
|
"type": "number"
|
|
554
554
|
},
|
|
555
|
-
"__@toStringTag@
|
|
555
|
+
"__@toStringTag@162985": {
|
|
556
556
|
"type": "string"
|
|
557
557
|
}
|
|
558
558
|
},
|
|
559
559
|
"additionalProperties": false,
|
|
560
560
|
"required": [
|
|
561
|
-
"__@toStringTag@
|
|
561
|
+
"__@toStringTag@162985",
|
|
562
562
|
"byteLength"
|
|
563
563
|
]
|
|
564
564
|
},
|
|
@@ -568,18 +568,18 @@
|
|
|
568
568
|
"byteLength": {
|
|
569
569
|
"type": "number"
|
|
570
570
|
},
|
|
571
|
-
"__@species@
|
|
571
|
+
"__@species@163023": {
|
|
572
572
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
573
573
|
},
|
|
574
|
-
"__@toStringTag@
|
|
574
|
+
"__@toStringTag@162985": {
|
|
575
575
|
"type": "string",
|
|
576
576
|
"const": "SharedArrayBuffer"
|
|
577
577
|
}
|
|
578
578
|
},
|
|
579
579
|
"additionalProperties": false,
|
|
580
580
|
"required": [
|
|
581
|
-
"__@species@
|
|
582
|
-
"__@toStringTag@
|
|
581
|
+
"__@species@163023",
|
|
582
|
+
"__@toStringTag@162985",
|
|
583
583
|
"byteLength"
|
|
584
584
|
]
|
|
585
585
|
},
|
|
@@ -553,14 +553,14 @@
|
|
|
553
553
|
"length": {
|
|
554
554
|
"type": "number"
|
|
555
555
|
},
|
|
556
|
-
"__@toStringTag@
|
|
556
|
+
"__@toStringTag@148030": {
|
|
557
557
|
"type": "string",
|
|
558
558
|
"const": "Uint8Array"
|
|
559
559
|
}
|
|
560
560
|
},
|
|
561
561
|
"required": [
|
|
562
562
|
"BYTES_PER_ELEMENT",
|
|
563
|
-
"__@toStringTag@
|
|
563
|
+
"__@toStringTag@148030",
|
|
564
564
|
"buffer",
|
|
565
565
|
"byteLength",
|
|
566
566
|
"byteOffset",
|
|
@@ -595,13 +595,13 @@
|
|
|
595
595
|
"byteLength": {
|
|
596
596
|
"type": "number"
|
|
597
597
|
},
|
|
598
|
-
"__@toStringTag@
|
|
598
|
+
"__@toStringTag@148030": {
|
|
599
599
|
"type": "string"
|
|
600
600
|
}
|
|
601
601
|
},
|
|
602
602
|
"additionalProperties": false,
|
|
603
603
|
"required": [
|
|
604
|
-
"__@toStringTag@
|
|
604
|
+
"__@toStringTag@148030",
|
|
605
605
|
"byteLength"
|
|
606
606
|
]
|
|
607
607
|
},
|
|
@@ -611,18 +611,18 @@
|
|
|
611
611
|
"byteLength": {
|
|
612
612
|
"type": "number"
|
|
613
613
|
},
|
|
614
|
-
"__@species@
|
|
614
|
+
"__@species@148068": {
|
|
615
615
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
616
616
|
},
|
|
617
|
-
"__@toStringTag@
|
|
617
|
+
"__@toStringTag@148030": {
|
|
618
618
|
"type": "string",
|
|
619
619
|
"const": "SharedArrayBuffer"
|
|
620
620
|
}
|
|
621
621
|
},
|
|
622
622
|
"additionalProperties": false,
|
|
623
623
|
"required": [
|
|
624
|
-
"__@species@
|
|
625
|
-
"__@toStringTag@
|
|
624
|
+
"__@species@148068",
|
|
625
|
+
"__@toStringTag@148030",
|
|
626
626
|
"byteLength"
|
|
627
627
|
]
|
|
628
628
|
},
|
|
@@ -383,4 +383,55 @@ describe('Chrome WebSocket API', function () {
|
|
|
383
383
|
});
|
|
384
384
|
await browser.disconnect();
|
|
385
385
|
});
|
|
386
|
+
it('launches headless correctly', async () => {
|
|
387
|
+
const config = new Config();
|
|
388
|
+
config.setToken('browserless');
|
|
389
|
+
const metrics = new Metrics();
|
|
390
|
+
await start({ config, metrics });
|
|
391
|
+
const getVersion = () => {
|
|
392
|
+
return document.querySelector('#command_line')?.textContent;
|
|
393
|
+
};
|
|
394
|
+
const runPuppeteer = async (launch) => {
|
|
395
|
+
const browser = await puppeteer.connect({
|
|
396
|
+
browserWSEndpoint: `ws://localhost:3000/chrome?token=browserless&launch=${launch}`,
|
|
397
|
+
});
|
|
398
|
+
const page = await browser.newPage();
|
|
399
|
+
await page.goto('chrome://version/');
|
|
400
|
+
const command = await page.evaluate(getVersion);
|
|
401
|
+
await browser.close();
|
|
402
|
+
return command;
|
|
403
|
+
};
|
|
404
|
+
const runPlaywright = async (launch) => {
|
|
405
|
+
const browser = await chromium.connect(`ws://localhost:3000/chrome/playwright?token=browserless&launch=${launch}`);
|
|
406
|
+
const page = await browser.newPage();
|
|
407
|
+
await page.goto('chrome://version/');
|
|
408
|
+
const command = await page.evaluate(getVersion);
|
|
409
|
+
await browser.close();
|
|
410
|
+
return command;
|
|
411
|
+
};
|
|
412
|
+
// Test headless=new
|
|
413
|
+
let launch = JSON.stringify({
|
|
414
|
+
args: ['--headless=new'],
|
|
415
|
+
});
|
|
416
|
+
let pptrCommand = await runPuppeteer(launch);
|
|
417
|
+
let pwCommand = await runPlaywright(launch);
|
|
418
|
+
expect(pptrCommand).to.include('--headless=new');
|
|
419
|
+
expect(pwCommand).to.include('--headless=new');
|
|
420
|
+
// Test headless false
|
|
421
|
+
launch = JSON.stringify({
|
|
422
|
+
headless: false,
|
|
423
|
+
});
|
|
424
|
+
pptrCommand = await runPuppeteer(launch);
|
|
425
|
+
pwCommand = await runPlaywright(launch);
|
|
426
|
+
expect(pptrCommand).not.to.include('--headless');
|
|
427
|
+
expect(pwCommand).not.to.include('--headless');
|
|
428
|
+
// Test headless true (should default to headless=new for puppeteer and headless for playwright)
|
|
429
|
+
launch = JSON.stringify({
|
|
430
|
+
headless: true,
|
|
431
|
+
});
|
|
432
|
+
pptrCommand = await runPuppeteer(launch);
|
|
433
|
+
pwCommand = await runPlaywright(launch);
|
|
434
|
+
expect(pptrCommand).to.include('--headless=new');
|
|
435
|
+
expect(pwCommand).to.include('--headless');
|
|
436
|
+
});
|
|
386
437
|
});
|
|
@@ -463,14 +463,14 @@
|
|
|
463
463
|
"length": {
|
|
464
464
|
"type": "number"
|
|
465
465
|
},
|
|
466
|
-
"__@toStringTag@
|
|
466
|
+
"__@toStringTag@192744": {
|
|
467
467
|
"type": "string",
|
|
468
468
|
"const": "Uint8Array"
|
|
469
469
|
}
|
|
470
470
|
},
|
|
471
471
|
"required": [
|
|
472
472
|
"BYTES_PER_ELEMENT",
|
|
473
|
-
"__@toStringTag@
|
|
473
|
+
"__@toStringTag@192744",
|
|
474
474
|
"buffer",
|
|
475
475
|
"byteLength",
|
|
476
476
|
"byteOffset",
|
|
@@ -505,13 +505,13 @@
|
|
|
505
505
|
"byteLength": {
|
|
506
506
|
"type": "number"
|
|
507
507
|
},
|
|
508
|
-
"__@toStringTag@
|
|
508
|
+
"__@toStringTag@192744": {
|
|
509
509
|
"type": "string"
|
|
510
510
|
}
|
|
511
511
|
},
|
|
512
512
|
"additionalProperties": false,
|
|
513
513
|
"required": [
|
|
514
|
-
"__@toStringTag@
|
|
514
|
+
"__@toStringTag@192744",
|
|
515
515
|
"byteLength"
|
|
516
516
|
]
|
|
517
517
|
},
|
|
@@ -521,18 +521,18 @@
|
|
|
521
521
|
"byteLength": {
|
|
522
522
|
"type": "number"
|
|
523
523
|
},
|
|
524
|
-
"__@species@
|
|
524
|
+
"__@species@192782": {
|
|
525
525
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
526
526
|
},
|
|
527
|
-
"__@toStringTag@
|
|
527
|
+
"__@toStringTag@192744": {
|
|
528
528
|
"type": "string",
|
|
529
529
|
"const": "SharedArrayBuffer"
|
|
530
530
|
}
|
|
531
531
|
},
|
|
532
532
|
"additionalProperties": false,
|
|
533
533
|
"required": [
|
|
534
|
-
"__@species@
|
|
535
|
-
"__@toStringTag@
|
|
534
|
+
"__@species@192782",
|
|
535
|
+
"__@toStringTag@192744",
|
|
536
536
|
"byteLength"
|
|
537
537
|
]
|
|
538
538
|
},
|
|
@@ -608,14 +608,14 @@
|
|
|
608
608
|
"length": {
|
|
609
609
|
"type": "number"
|
|
610
610
|
},
|
|
611
|
-
"__@toStringTag@
|
|
611
|
+
"__@toStringTag@281458": {
|
|
612
612
|
"type": "string",
|
|
613
613
|
"const": "Uint8Array"
|
|
614
614
|
}
|
|
615
615
|
},
|
|
616
616
|
"required": [
|
|
617
617
|
"BYTES_PER_ELEMENT",
|
|
618
|
-
"__@toStringTag@
|
|
618
|
+
"__@toStringTag@281458",
|
|
619
619
|
"buffer",
|
|
620
620
|
"byteLength",
|
|
621
621
|
"byteOffset",
|
|
@@ -650,13 +650,13 @@
|
|
|
650
650
|
"byteLength": {
|
|
651
651
|
"type": "number"
|
|
652
652
|
},
|
|
653
|
-
"__@toStringTag@
|
|
653
|
+
"__@toStringTag@281458": {
|
|
654
654
|
"type": "string"
|
|
655
655
|
}
|
|
656
656
|
},
|
|
657
657
|
"additionalProperties": false,
|
|
658
658
|
"required": [
|
|
659
|
-
"__@toStringTag@
|
|
659
|
+
"__@toStringTag@281458",
|
|
660
660
|
"byteLength"
|
|
661
661
|
]
|
|
662
662
|
},
|
|
@@ -666,18 +666,18 @@
|
|
|
666
666
|
"byteLength": {
|
|
667
667
|
"type": "number"
|
|
668
668
|
},
|
|
669
|
-
"__@species@
|
|
669
|
+
"__@species@281496": {
|
|
670
670
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
671
671
|
},
|
|
672
|
-
"__@toStringTag@
|
|
672
|
+
"__@toStringTag@281458": {
|
|
673
673
|
"type": "string",
|
|
674
674
|
"const": "SharedArrayBuffer"
|
|
675
675
|
}
|
|
676
676
|
},
|
|
677
677
|
"additionalProperties": false,
|
|
678
678
|
"required": [
|
|
679
|
-
"__@species@
|
|
680
|
-
"__@toStringTag@
|
|
679
|
+
"__@species@281496",
|
|
680
|
+
"__@toStringTag@281458",
|
|
681
681
|
"byteLength"
|
|
682
682
|
]
|
|
683
683
|
},
|
|
@@ -510,14 +510,14 @@
|
|
|
510
510
|
"length": {
|
|
511
511
|
"type": "number"
|
|
512
512
|
},
|
|
513
|
-
"__@toStringTag@
|
|
513
|
+
"__@toStringTag@296410": {
|
|
514
514
|
"type": "string",
|
|
515
515
|
"const": "Uint8Array"
|
|
516
516
|
}
|
|
517
517
|
},
|
|
518
518
|
"required": [
|
|
519
519
|
"BYTES_PER_ELEMENT",
|
|
520
|
-
"__@toStringTag@
|
|
520
|
+
"__@toStringTag@296410",
|
|
521
521
|
"buffer",
|
|
522
522
|
"byteLength",
|
|
523
523
|
"byteOffset",
|
|
@@ -552,13 +552,13 @@
|
|
|
552
552
|
"byteLength": {
|
|
553
553
|
"type": "number"
|
|
554
554
|
},
|
|
555
|
-
"__@toStringTag@
|
|
555
|
+
"__@toStringTag@296410": {
|
|
556
556
|
"type": "string"
|
|
557
557
|
}
|
|
558
558
|
},
|
|
559
559
|
"additionalProperties": false,
|
|
560
560
|
"required": [
|
|
561
|
-
"__@toStringTag@
|
|
561
|
+
"__@toStringTag@296410",
|
|
562
562
|
"byteLength"
|
|
563
563
|
]
|
|
564
564
|
},
|
|
@@ -568,18 +568,18 @@
|
|
|
568
568
|
"byteLength": {
|
|
569
569
|
"type": "number"
|
|
570
570
|
},
|
|
571
|
-
"__@species@
|
|
571
|
+
"__@species@296448": {
|
|
572
572
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
573
573
|
},
|
|
574
|
-
"__@toStringTag@
|
|
574
|
+
"__@toStringTag@296410": {
|
|
575
575
|
"type": "string",
|
|
576
576
|
"const": "SharedArrayBuffer"
|
|
577
577
|
}
|
|
578
578
|
},
|
|
579
579
|
"additionalProperties": false,
|
|
580
580
|
"required": [
|
|
581
|
-
"__@species@
|
|
582
|
-
"__@toStringTag@
|
|
581
|
+
"__@species@296448",
|
|
582
|
+
"__@toStringTag@296410",
|
|
583
583
|
"byteLength"
|
|
584
584
|
]
|
|
585
585
|
},
|
|
@@ -553,14 +553,14 @@
|
|
|
553
553
|
"length": {
|
|
554
554
|
"type": "number"
|
|
555
555
|
},
|
|
556
|
-
"__@toStringTag@
|
|
556
|
+
"__@toStringTag@326151": {
|
|
557
557
|
"type": "string",
|
|
558
558
|
"const": "Uint8Array"
|
|
559
559
|
}
|
|
560
560
|
},
|
|
561
561
|
"required": [
|
|
562
562
|
"BYTES_PER_ELEMENT",
|
|
563
|
-
"__@toStringTag@
|
|
563
|
+
"__@toStringTag@326151",
|
|
564
564
|
"buffer",
|
|
565
565
|
"byteLength",
|
|
566
566
|
"byteOffset",
|
|
@@ -595,13 +595,13 @@
|
|
|
595
595
|
"byteLength": {
|
|
596
596
|
"type": "number"
|
|
597
597
|
},
|
|
598
|
-
"__@toStringTag@
|
|
598
|
+
"__@toStringTag@326151": {
|
|
599
599
|
"type": "string"
|
|
600
600
|
}
|
|
601
601
|
},
|
|
602
602
|
"additionalProperties": false,
|
|
603
603
|
"required": [
|
|
604
|
-
"__@toStringTag@
|
|
604
|
+
"__@toStringTag@326151",
|
|
605
605
|
"byteLength"
|
|
606
606
|
]
|
|
607
607
|
},
|
|
@@ -611,18 +611,18 @@
|
|
|
611
611
|
"byteLength": {
|
|
612
612
|
"type": "number"
|
|
613
613
|
},
|
|
614
|
-
"__@species@
|
|
614
|
+
"__@species@326189": {
|
|
615
615
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
616
616
|
},
|
|
617
|
-
"__@toStringTag@
|
|
617
|
+
"__@toStringTag@326151": {
|
|
618
618
|
"type": "string",
|
|
619
619
|
"const": "SharedArrayBuffer"
|
|
620
620
|
}
|
|
621
621
|
},
|
|
622
622
|
"additionalProperties": false,
|
|
623
623
|
"required": [
|
|
624
|
-
"__@species@
|
|
625
|
-
"__@toStringTag@
|
|
624
|
+
"__@species@326189",
|
|
625
|
+
"__@toStringTag@326151",
|
|
626
626
|
"byteLength"
|
|
627
627
|
]
|
|
628
628
|
},
|
|
@@ -360,7 +360,6 @@ describe('/chromium/pdf API', function () {
|
|
|
360
360
|
method: 'POST',
|
|
361
361
|
}).then(async (res) => {
|
|
362
362
|
const errorText = await res.text();
|
|
363
|
-
console.log(errorText);
|
|
364
363
|
expect(res.status).to.equal(400);
|
|
365
364
|
expect(errorText).to.include('Request payload size');
|
|
366
365
|
expect(errorText).to.include('exceeds maximum allowed size');
|
|
@@ -383,6 +383,57 @@ describe('Chromium WebSocket API', function () {
|
|
|
383
383
|
});
|
|
384
384
|
await browser.disconnect();
|
|
385
385
|
});
|
|
386
|
+
it('launches headless correctly', async () => {
|
|
387
|
+
const config = new Config();
|
|
388
|
+
config.setToken('browserless');
|
|
389
|
+
const metrics = new Metrics();
|
|
390
|
+
await start({ config, metrics });
|
|
391
|
+
const getVersion = () => {
|
|
392
|
+
return document.querySelector('#command_line')?.textContent;
|
|
393
|
+
};
|
|
394
|
+
const runPuppeteer = async (launch) => {
|
|
395
|
+
const browser = await puppeteer.connect({
|
|
396
|
+
browserWSEndpoint: `ws://localhost:3000/chromium?token=browserless&launch=${launch}`,
|
|
397
|
+
});
|
|
398
|
+
const page = await browser.newPage();
|
|
399
|
+
await page.goto('chrome://version/');
|
|
400
|
+
const command = await page.evaluate(getVersion);
|
|
401
|
+
await browser.close();
|
|
402
|
+
return command;
|
|
403
|
+
};
|
|
404
|
+
const runPlaywright = async (launch) => {
|
|
405
|
+
const browser = await chromium.connect(`ws://localhost:3000/chromium/playwright?token=browserless&launch=${launch}`);
|
|
406
|
+
const page = await browser.newPage();
|
|
407
|
+
await page.goto('chrome://version/');
|
|
408
|
+
const command = await page.evaluate(getVersion);
|
|
409
|
+
await browser.close();
|
|
410
|
+
return command;
|
|
411
|
+
};
|
|
412
|
+
// Test headless=new
|
|
413
|
+
let launch = JSON.stringify({
|
|
414
|
+
args: ['--headless=new'],
|
|
415
|
+
});
|
|
416
|
+
let pptrCommand = await runPuppeteer(launch);
|
|
417
|
+
let pwCommand = await runPlaywright(launch);
|
|
418
|
+
expect(pptrCommand).to.include('--headless=new');
|
|
419
|
+
expect(pwCommand).to.include('--headless=new');
|
|
420
|
+
// Test headless false
|
|
421
|
+
launch = JSON.stringify({
|
|
422
|
+
headless: false,
|
|
423
|
+
});
|
|
424
|
+
pptrCommand = await runPuppeteer(launch);
|
|
425
|
+
pwCommand = await runPlaywright(launch);
|
|
426
|
+
expect(pptrCommand).not.to.include('--headless');
|
|
427
|
+
expect(pwCommand).not.to.include('--headless');
|
|
428
|
+
// Test headless true (should default to headless=new for puppeteer and headless for playwright)
|
|
429
|
+
launch = JSON.stringify({
|
|
430
|
+
headless: true,
|
|
431
|
+
});
|
|
432
|
+
pptrCommand = await runPuppeteer(launch);
|
|
433
|
+
pwCommand = await runPlaywright(launch);
|
|
434
|
+
expect(pptrCommand).to.include('--headless=new');
|
|
435
|
+
expect(pwCommand).to.include('--headless');
|
|
436
|
+
});
|
|
386
437
|
it('Throws an error while creating a session with invalid trackingId', async () => {
|
|
387
438
|
await start();
|
|
388
439
|
const didError = await puppeteer
|
|
@@ -463,14 +463,14 @@
|
|
|
463
463
|
"length": {
|
|
464
464
|
"type": "number"
|
|
465
465
|
},
|
|
466
|
-
"__@toStringTag@
|
|
466
|
+
"__@toStringTag@385334": {
|
|
467
467
|
"type": "string",
|
|
468
468
|
"const": "Uint8Array"
|
|
469
469
|
}
|
|
470
470
|
},
|
|
471
471
|
"required": [
|
|
472
472
|
"BYTES_PER_ELEMENT",
|
|
473
|
-
"__@toStringTag@
|
|
473
|
+
"__@toStringTag@385334",
|
|
474
474
|
"buffer",
|
|
475
475
|
"byteLength",
|
|
476
476
|
"byteOffset",
|
|
@@ -505,13 +505,13 @@
|
|
|
505
505
|
"byteLength": {
|
|
506
506
|
"type": "number"
|
|
507
507
|
},
|
|
508
|
-
"__@toStringTag@
|
|
508
|
+
"__@toStringTag@385334": {
|
|
509
509
|
"type": "string"
|
|
510
510
|
}
|
|
511
511
|
},
|
|
512
512
|
"additionalProperties": false,
|
|
513
513
|
"required": [
|
|
514
|
-
"__@toStringTag@
|
|
514
|
+
"__@toStringTag@385334",
|
|
515
515
|
"byteLength"
|
|
516
516
|
]
|
|
517
517
|
},
|
|
@@ -521,18 +521,18 @@
|
|
|
521
521
|
"byteLength": {
|
|
522
522
|
"type": "number"
|
|
523
523
|
},
|
|
524
|
-
"__@species@
|
|
524
|
+
"__@species@385372": {
|
|
525
525
|
"$ref": "#/definitions/SharedArrayBuffer"
|
|
526
526
|
},
|
|
527
|
-
"__@toStringTag@
|
|
527
|
+
"__@toStringTag@385334": {
|
|
528
528
|
"type": "string",
|
|
529
529
|
"const": "SharedArrayBuffer"
|
|
530
530
|
}
|
|
531
531
|
},
|
|
532
532
|
"additionalProperties": false,
|
|
533
533
|
"required": [
|
|
534
|
-
"__@species@
|
|
535
|
-
"__@toStringTag@
|
|
534
|
+
"__@species@385372",
|
|
535
|
+
"__@toStringTag@385334",
|
|
536
536
|
"byteLength"
|
|
537
537
|
]
|
|
538
538
|
},
|