Commit Graph

59 Commits

Author SHA1 Message Date
Alex Rudenko
4ec0280080
fix: check if executablePath exists (#12201) 2024-04-04 10:46:35 +00:00
Alex Rudenko
7bc5e0fb2d
fix: only set up a single process event listener in launch (#12200) 2024-04-04 07:41:48 +00:00
jrandolf
1a05d37cf2
chore: remove skip and add more frame.name() instructions (#12085) 2024-03-13 14:44:42 +00:00
jrandolf
0203b4533d
feat: deprecate Frame.prototype.name (#12084) 2024-03-13 14:29:59 +00:00
jrandolf
e9f9f4c356
refactor: adopt the rest of bidi/core (#11836) 2024-02-12 16:28:21 +00:00
Alex Rudenko
8d7d9f1f05
test: rework test expectations (#11824) 2024-02-05 11:04:41 +00:00
Alex Rudenko
75c9e117f1
refactor!: enable the new-headless mode by default (#11815) 2024-02-02 13:25:43 +01:00
Alex Rudenko
2930a70c88
feat(bidi): implement UserContexts (#11784) 2024-01-31 09:22:47 +01:00
Alex Rudenko
422b5a5b03
test: move skipped tests to expectations (#11789) 2024-01-30 17:42:49 +01:00
Alex Rudenko
afc9f46aa3
test: split headful spec (#11622) 2024-01-04 06:51:47 +00:00
Nikolay Vitkov
b6c5642cc9
chore: update license headers (#11563) 2024-01-03 10:11:33 +00:00
Maksim Sadym
a66d029607
fix: end WebDriver BiDi session on disconnect (#11470)
Co-authored-by: Maksim Sadym <sadym@google.com>
2023-11-30 14:27:49 +00:00
Maksim Sadym
d0d4ceb5fa
test: fail ignoreHTTPSErrors faster (#11366)
Co-authored-by: Maksim Sadym <sadym@google.com>
2023-11-13 13:55:06 +01:00
Maksim Sadym
0533764aac
test: pass protocol in Puppeteer.connect in tests (#11342)
Add an internal field protocol: 'cdp' | 'webDriverBiDi' to the Browser and use is in tests when Puppeter.connect(...) is called.

Co-authored-by: Maksim Sadym <sadym@google.com>
2023-11-10 12:55:08 +00:00
Nikolay Vitkov
4a2a37b825
chore: add a deflake utility (#11111) 2023-10-11 19:21:50 +02:00
jrandolf
bd6c246b18
chore: add @typescript-eslint/no-import-type-side-effects (#11040) 2023-09-26 18:24:24 +02:00
jrandolf
c949656a43
chore: use @typescript-eslint/consistent-type-imports (#10913) 2023-09-15 13:00:20 +02:00
jrandolf
9b6f1de8b9
feat: implement typed events (#10889) 2023-09-13 15:47:55 +02:00
jrandolf
900a1f227d
chore: turn on rulesdir/use-using (#10806) 2023-08-30 10:02:59 +00:00
Alex Rudenko
c4bad4a6da
chore: support Tab targets (#10148) 2023-08-28 08:20:57 +02:00
Alex Rudenko
f70048c84f
refactor: turn Frame into EventEmitter (#10711) 2023-08-08 16:42:45 +02:00
Nikolay Vitkov
f4c711e25b
chore: BiDi close error (#10687) 2023-08-04 14:45:38 +02:00
Nikolay Vitkov
0757d04358
chore: update chromium-bidi (#10620) 2023-07-28 11:11:14 +02:00
Nikolay Vitkov
7d97b5804f
chore: launcher test should respect headless (#10625) 2023-07-25 07:06:35 +00:00
Alex Rudenko
44712d1e6e
refactor!: use Target for filters (#10601) 2023-07-20 16:18:00 +02:00
Nikolay Vitkov
d0d738d2fc
chore: readd browser setup hook (#10478) 2023-07-03 14:01:29 +02:00
Nikolay Vitkov
ff8529696d
ci: remove before hooks (#10431) 2023-06-21 19:41:09 +00:00
Nikolay Vitkov
d560299aa8
chore: add waitForSelector for BiDi (#10383) 2023-06-16 09:16:04 +02:00
Nikolay Vitkov
e3e68a99d2
chore: use launch helper (#10344) 2023-06-12 10:44:18 +02:00
Alex Rudenko
df4d60c187
feat!: switch to Chrome for Testing instead of Chromium (#10054)
Co-authored-by: Nikolay Vitkov <34244704+Lightning00Blade@users.noreply.github.com>
2023-05-02 08:53:40 +02:00
Nikolay Vitkov
5e79d53bd3
refactor: tests use toHaveLength and waitEvent (#10061) 2023-04-25 15:02:25 +02:00
Alex Rudenko
704624eb20
fix: move fs.js to the node folder (#10055) 2023-04-21 09:45:04 +02:00
Alex Rudenko
c8f6adf9f3
refactor: use browsers for launchers (#9937) 2023-04-04 13:29:21 +00:00
Alex Rudenko
1f76cdda12
chore: replace rimraf with a helper in BrowserFetcher/Connector (#9890) 2023-03-21 13:41:56 +01:00
Alex Rudenko
f1488b6c3a
chore: replace rimraf in tests with a helper with retries (#9888) 2023-03-21 11:39:15 +01:00
Nikolay Vitkov
17c650b6d1
chore: prefer use of fs/promise to utils/promisify (#9848)
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2023-03-14 18:30:41 +01:00
Alex Rudenko
5bb41e1c11
chore: restore rimraf in test code (#9823) 2023-03-10 10:37:14 +01:00
jrandolf
2123f809e8
chore: remove rimraf (#9775) 2023-03-06 11:33:38 +01:00
Nikolay Vitkov
eefe9583d0
chore: Add EsLint rule import/order (#9685) 2023-02-15 15:09:31 -08:00
Kyrylo
3e80667048
chore: use named import for devtools-protocol module (#9511)
<!-- Thanks for submitting a pull request! Please provide enough
information so that others can review your pull request. -->

**What kind of change does this PR introduce?**
types fix

**Did you add tests for your changes?**
No

**If relevant, did you update the documentation?**
Not relevant

**Summary**
I am updating `import`s of `devtools-protocol` to always use named
import instead of the default.
For some reason, typescript doesn't understand when it is imported as
default.

```
node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts:23:59 - error TS2694: Namespace '"/Users/kyrylo/pacakge/node_modules/puppeteer-core/node_modules/devtools-protocol/types/protocol"' has no exported member 'Target'.

23 export declare type TargetFactory = (targetInfo: Protocol.Target.TargetInfo, session?: CDPSession) => Target;
                                                             ~~~~~~


Found 1 error in node_modules/puppeteer-core/lib/esm/puppeteer/common/TargetManager.d.ts:23
```

**Does this PR introduce a breaking change?**
No
<!-- If this PR introduces a breaking change, please describe the impact
and a migration path for existing applications. -->

**Other information**
I am updating `import`s of `devtools-protocol` to always use named
import instead of the default.
2023-01-17 11:34:57 +00:00
jrandolf
ec201744f0
feat: use configuration files (#9140)
This PR adds configurations files to `puppeteer`'s methods for
configuration. Under the hood, `puppeteer` relies on
https://www.npmjs.com/package/cosmiconfig which resolves several formats
of configuration:

- a `puppeteer` property in package.json
- a `.puppeteerrc` file in JSON or YAML format
- a `.puppeteerrc.json`, `.puppeteerrc.yaml`, `.puppeteerrc.yml`,
`.puppeteerrc.js`, or `.puppeteerrc.cjs` file
- a `puppeteer.config.js` or `puppeteer.config.cjs` CommonJS module
exporting an object

Documentation will be added later.

Fixed: #9128
2022-10-21 15:09:21 +02:00
jrandolf
3df375baed
feat!: use ~/.cache/puppeteer for browser downloads (#9095) 2022-10-11 11:20:45 +00:00
jrandolf
9f4f43a28b fix!: deprecate indirect error imports (#9072) 2022-10-06 23:52:51 +02:00
jrandolf
f42336cf83
feat: separate puppeteer and puppeteer-core (#9023)
This PR moves the puppeteer source code into separate mono-repo packages:

- `puppeteer` and `puppeteer-core` are now separated into their own
packages.
- `puppeteer-core` has a new exports called `puppeteer-core/internal`
for internal usage.

Tests and various tools have been updated to accommodate the migration.
2022-10-05 14:17:03 +02:00
Alex Rudenko
31e7b608d5
chore: implement basic evaluate in BiDi (#8989)
Only the basic return values are supported.
The follow-up PRs will re-use the shared code
from the ExecutionContext and introduce Frame
in BiDi.
2022-09-21 08:10:50 +02:00
Alex Rudenko
db28203e64 chore: support WebDriver BiDi browser instances (#8932)
This PR adds a basic support for WebDriver BiDi that currently includes only the ability to establish a connection and shutdown the browser. Therefore, the implementation is marked as internal and won't show up in the changelog as it's barely useful at the moment.

The API classes are kept as classes instead of interfaces so that clients relying on instanceof checks still work.
2022-09-15 02:15:15 +02:00
Alex Rudenko
504c7a1ae6
chore: implement custom mocha interface for the runner (#8929)
Instead of checking skipped tests in mocha-utils this PR
implements a custom mocha interface for better flexibility
when skipping tests. That should allow skipping tests without
running before and after hooks.
2022-09-09 11:12:18 +02:00
Alex Rudenko
d8830cbc55
chore: implement a test runner on top of mocha (#8866)
* chore: implement a test runner on top of mocha

This PR implements a test runner on top of mocha
that performs multiple mocha runs as defined in
TestSuites.json and compares the outcome of the runs
against TestExpectations.json. This allows us to
remove most of helpers from mocha-utils and be more
flexible when defining the test configurations.
2022-09-08 10:32:39 +00:00
Alex Rudenko
8b3caae8d1
chore: enable cookie restoration test (#8909)
Closes #4111
2022-09-07 09:42:06 +00:00
Alex Rudenko
ee2540baef
fix: use targetFilter in puppeteer.launch (#8774)
Drive-by: adds Symbol.toStringTag to Target to simplify
debugging.

Closes #8772
2022-08-11 09:15:00 +00:00