Commit Graph

1041 Commits

Author SHA1 Message Date
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
Kian-Meng Ang
4437bceb6e docs: fix typos (#9476)
Co-authored-by: Alex Rudenko <OrKoN@users.noreply.github.com>
2023-01-16 20:25:09 +01:00
Alexandra Borovova
31ff55cc03
chore: filter expectations by the whole test or file name (#9503)
<!-- 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?**

This is a change to a custom mocha runner to look for expectation of the
test case by the whole test name instead of by the part of the name.

**Summary**

Working on integration of the puppeteer expectation file in mozilla repo
and unskipping a lot of tests, I've noticed that some tests get wrong
statuses. For example, a test case with the name `navigation Page.goto
should fail when navigating to bad SSL` got the status of `navigation
Page.goto should fail when navigating to bad SSL after redirects` or
`ElementHandle specs ElementHandle.boundingBox should work` get the
status of `ElementHandle specs ElementHandle.boundingBox should work
with SVG nodes`. So it seems like checking for the whole name of the
test should be safer, but let me know if I'm missing something here.

**Does this PR introduce a breaking change?**
no
2023-01-13 16:14:37 +01:00
Alex Rudenko
06e816bbfa
feat(chromium): roll to Chromium 110.0.5479.0 (r1083080) (#9500)
Closes #9470
2023-01-12 11:31:20 +01:00
Alex Rudenko
29a50764d4
chore: add BiDi integration for Chromium (#9410)
This PR adds experimental support for WebDriver BiDi by making use of
chromium-bidi to implement the BiDi protocol. The tests are disabled on
Windows due to flakiness (filed
https://github.com/GoogleChromeLabs/chromium-bidi/issues/361).
2022-12-20 14:37:31 +00:00
jrandolf
c7a063a152
feat: add element validation (#9352)
This PR adds a method to ElementHandle that validates the tag type of
that handle and returns it.

Fixed: #8579, #9280
2022-12-19 13:25:56 +01:00
Darío Kondratiuk
e3e9cc622a
fix(puppeteer-core): target interceptor is not async (#9430)
I found that the only call to `addTargetInterceptor` passes
`onAttachedToTarget` and is not async.
I also found a typo 🤓
2022-12-17 17:47:21 +00:00
Alex Rudenko
02fe50194e
fix: improve a11y snapshot handling if the tree is not correct (#9405)
Bug #9404
2022-12-13 08:31:26 +00:00
Alex Rudenko
1668d47b2f
docs: various doc improvements (#9396)
See commits for details.

Closes #1837, #5880, #7822, #8101, #8821, #9367, #9382, #9378, #4731
2022-12-09 13:57:39 +01:00
Alex Rudenko
810e0cd74e
fix: remove oopif expectations and fix oopif flakiness (#9375)
With M109 the flakiness should be reduced. Any present flakiness should
be investigated.

Drive-by: a new debugging helper to debug on CI.
2022-12-09 11:36:39 +00:00
Nikolay Vitkov
1875da6191
feat(chromium): roll to Chromium 109.0.5412.0 (r1069273) (#9364)
Closes #9233
2022-12-07 14:54:00 +01:00
Henrik Skupin
be7626bad8
chore: fix race in test Frame.waitForFunction should work when context is destroyed (#9368)
Fixes the race condition which causes intermittent failures in Firefox
because we haven't implemented bootstrap scripts to run on document
creation.
2022-12-06 16:59:44 +00:00
Junyan
b7ebc5d9bb
feat(puppeteer-core): keydown supports commands (#9357)
Issue: #1313

<!-- 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?**

Feature.

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

Yes.

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

Yes.

**Summary**

Supports keyboard shotcuts on MacOS. See Chrome Devtools Protocol
document:
https://chromedevtools.github.io/devtools-protocol/tot/Input/#method-dispatchKeyEvent.
2022-12-03 11:23:47 +01:00
Alex Rudenko
f3c87dcdb7
chore: upgrade mitt (#9340) 2022-11-29 19:50:58 +00:00
Alex Rudenko
507efc610b
chore: mark a waitForFunction test as flaky in Firefox (#9323) 2022-11-24 13:13:03 +01:00
Alex Rudenko
da92055e9c
chore: include headless in the flaky test expectation (#9316) 2022-11-23 15:11:26 +01:00
Alex Rudenko
181b20fedf
test: mark Frame.waitForSelector test as flaky in headful Firefox (#9307) 2022-11-23 13:09:19 +01:00
Alex Rudenko
30c6b13eec
chore: re-export all exports (#9241)
Adds index files to subfolders and removes generation of types.ts in
puppeteer-core.
2022-11-10 17:11:18 +01:00
Alexandra Borovova
9e95774596
chore: add missing golden asset for firefox (#9171)
<!-- 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?**

- adds missing golden asset for firefox

**Summary**

- This change will let us see in mozilla ci, where we don't skip this
test, a better error message. Right now it fails with missing asset
error.

**Does this PR introduce a breaking change?**
no
2022-10-27 09:33:38 +00:00
Alex Rudenko
e78a4e89c2
feat(chromium): roll to Chromium 108.0.5351.0 (r1056772) (#9153) 2022-10-25 12:55:19 +02: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
Alex Rudenko
122778a1f8
feat: expose browser context id (#9134)
Closes #9132
2022-10-19 08:30:57 +00:00
Alex Rudenko
a19b270018
chore: extract BrowserContext to its own file (#9133) 2022-10-19 07:06:31 +00:00
jrandolf
8f4902eed9
chore: use test runner for installation tests (#9110) 2022-10-14 13:37:07 +02:00
jrandolf
6a05d8e9c1
chore: improve docs and scripts (#9107)
This PR updates some docs and scripts related to the recent changes in
the repository.
2022-10-13 18:55:11 +02:00
jrandolf
3df375baed
feat!: use ~/.cache/puppeteer for browser downloads (#9095) 2022-10-11 11:20:45 +00:00
Alex Rudenko
557d4a06c4
chore: update expectations for flaky tests (#9091) 2022-10-11 09:49:42 +02:00
jrandolf
1847704789
fix!: refactor custom query handler API (#9078)
This PR removes the deprecated query selector API from the `puppeteer`
instance. Direct imports of the query selector API have also been
deprecated and users are now expected to use the static methods defined
on `Puppeteer`.
2022-10-10 16:01:09 +02:00
jrandolf
acbc59999b
fix: remove viewport conditions in waitForSelector (#9087)
This PR removes the viewport conditions in `waitForSelector`.

See discussion:
https://github.com/puppeteer/puppeteer/pull/8954#issuecomment-1272338883
2022-10-10 16:00:47 +02:00
jrandolf
87c08fd86a
fix!: remove puppeteer.devices in favor of KnownDevices (#9075)
This PR removes the deprecated `puppeteer.devices` in favor of a new
exported object `KnownDevices`. `devices` can also be exported, but has
been deprecated.
2022-10-10 15:30:12 +02:00
Alex Rudenko
04270a39ea
chore: update test expectations (#9088) 2022-10-10 15:24:46 +02:00
smithc
a032583b6c feat: add ability to collect JS code coverage at the function level (#9027) 2022-10-06 23:53:05 +02:00
jrandolf
41d0122b94 fix!: deprecate indirect network condition imports (#9074) 2022-10-06 23:52:58 +02:00
jrandolf
9f4f43a28b fix!: deprecate indirect error imports (#9072) 2022-10-06 23:52:51 +02:00
jrandolf
3675f168ef
chore: improve CI jobs (#9054)
This PR separates the installations tests from normal tests and changes
the matrices as follows:

- Installations tests on all platforms and the latest 3 node versions.
- Chrome tests are done on all platforms on the latest node version.
- Firefox tests are done only on linux on the latest node version.
2022-10-06 15:45:22 +02:00
jrandolf
416d56b033
chore: refactor utils (#9053)
This PR

- renames the `utils` folder to `tools` (follows internal practice),
- migrates the contents of `scripts` into `tools` and removes scripts.
2022-10-06 10:27:14 +02:00
Egor Andreyuk
8f6b2c9b7c
fix: waitForRequest works with async predicate (#9058) 2022-10-05 20:46:34 +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
022fbde85e
feat(chromium): roll to Chromium 107.0.5296.0 (r1045629) (#9039) 2022-10-05 08:13:43 +02:00
jrandolf
c0c7878adc
chore: initiate monorepo migration (#9022)
This PR starts the monorepo migrations as per
https://github.com/puppeteer/puppeteer/issues/8922. To scope migrations,
we are only moving the `testserver` into a separate package. Further
migrations will come later.
2022-09-29 10:08:55 +02:00
Alex Rudenko
023ebd8f78
chore: enable firefox tests on Mac (#9002) 2022-09-23 19:06:09 +02:00
Henrik Skupin
5a1b8d2d7c
chore: add headful support for Firefox (#9004)
* chore: add headful support for Firefox

* chore: update test expectation data for Firefox headful tests
2022-09-23 07:23:36 +02:00
Alex Rudenko
a6f4584a74
chore: clarify build instructions (#9000) 2022-09-22 14:53:06 +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
jrandolf
7efcb9ca3d
chore: remove unused code (#8977) 2022-09-19 12:48:14 +02:00
jrandolf
2a2af7134f
chore: incrementally erase cache on text change (#8961) 2022-09-15 18:48:55 +02:00
Alex Rudenko
fa084bcdcd
chore: extract CDPSession base class for easy mocking (#8950) 2022-09-15 13:50:12 +00:00
jrandolf
633e7cfdf9
feat: add text query handler (#8956) 2022-09-15 11:12:13 +00:00
jrandolf
ac9929d80f
fix!: fix bounding box visibility conditions (#8954) 2022-09-15 09:25:20 +02:00
jrandolf
7c4f41fadc
chore: use injections for wait tasks (#8943)
This PR refactors wait tasks to use injected scripts.
2022-09-15 08:22:20 +02:00