Pavel Feldman
c757ba72a9
chore: add storybook dep ( #5082 )
2021-01-21 08:29:01 -08:00
Pavel Feldman
4b5c876bbf
chore: allow opening empty trace viewer ( #5080 )
2021-01-20 19:16:23 -08:00
Dmitry Gozman
16249ccbda
feat(trace): account for more action types in timeline ( #5077 )
2021-01-20 16:19:01 -08:00
Dmitry Gozman
263f164238
feat(trace viewer): improve source tab ( #5038 )
...
- Show stack trace and allow to select one.
- Fix an issue when the page is closed before action end and we lack an id.
- Fix timeline time labels.
2021-01-19 14:45:26 -08:00
Yury Semikhatsky
d00c5cfd64
feat(webkit): bump to 1423 ( #5057 )
2021-01-19 14:02:41 -08:00
Yury Semikhatsky
615954b285
fix(dom): make selectOption wait for options ( #5036 )
2021-01-19 11:27:05 -08:00
Dmitry Gozman
0586c2554f
feat(text selector): normalize whitespace for quoted match ( #5049 )
...
This changes quoted text selector like `text="Foo Bar"` to perform
normalized whitespace match.
Most of the time users want to match some string visible on the page,
and that always means normalized whitespace.
We keep the case sensitivity and full-string vs substring difference
between quoted and unquoted matches.
2021-01-19 09:30:34 -08:00
Dmitry Gozman
0a7b917ee3
feat(chromium): bump to 844399 ( #5044 )
2021-01-17 17:28:06 -08:00
Dmitry Gozman
17e953c2d8
chore: make generate_types not depend on the source ( #5040 )
...
The only dependency is a list of devices that we
can turn into a js file.
2021-01-17 12:09:20 -08:00
Dmitry Gozman
afaec552dd
feat(trace): show dialogs, navigations and misc events ( #5025 )
2021-01-15 18:30:55 -08:00
Dmitry Gozman
b45905ae3f
feat(trace viewer): small improvements ( #5007 )
...
- Show logs.
- Show errors.
- Highlight actions.
2021-01-14 20:16:02 -08:00
Andrey Lushnikov
61b0dbb3ef
devops: start downloading firefox arm builds on Apple Silicon. ( #5019 )
2021-01-15 01:55:17 +03:00
Andrey Lushnikov
ff20b9d107
devops: support frequent minor releases of MacOS BigSur. ( #5016 )
...
Pre-BigSur, MacOS updates were labeled as "minor" releases, so we had
to bake separate builds for different 10.X releases.
In BigSur era, it doesn't seem to be the case, so for now we can re-use
our BigSur builds across all BigSur versions (11.0, 11.1 and 11.2).
If we ever need to have a custom build for some bigsur minor version,
e.g. `11.6`, we'll have a new browser platform along with generic
`mac11` platform.
Fixes #4775 .
2021-01-14 22:45:09 +03:00
Dmitry Gozman
0a999bf0a6
fix(driver): remove path trickery from install command ( #5008 )
2021-01-13 19:21:30 -08:00
Dmitry Gozman
e3ebba5573
chore: cleanup code that is not used by cli anymore ( #5005 )
2021-01-13 17:02:53 -08:00
Dmitry Gozman
5c3f483659
fix(cli): do not extend injected script on same-document navigations ( #5002 )
...
Otherwise, the injected script has to be ready for reentrancy.
2021-01-13 14:25:42 -08:00
Pavel Feldman
9a9ac60d21
fix: fix the cli tests, generate snake python ( #5003 )
2021-01-13 12:52:03 -08:00
Joel Einbinder
decf373c81
fix(electron): return a ChromiumBrowserContext for electron ( #4913 )
2021-01-13 12:08:14 -08:00
Yury Semikhatsky
29c34325c9
fix(cookies): make filtering by url work with subdomains ( #4989 )
2021-01-12 15:56:29 -08:00
Dmitry Gozman
d62b661cfa
docs: rename proximity selectors to position selectors ( #4975 )
2021-01-11 18:25:41 -08:00
Pavel Feldman
cb6e4a6657
chore: update snippets in python docs ( #4976 )
2021-01-11 17:04:24 -08:00
Dmitry Gozman
725191967b
fix(connect): provide an error message when ws endpoint is incorrect ( #4978 )
2021-01-11 15:53:45 -08:00
Yury Semikhatsky
728846b377
fix(launcher): add vcruntime140_1.dll to the list of known deps ( #4973 )
2021-01-11 15:01:29 -08:00
Dominik Deren
bf64fedd88
fix(trace viewer): updating default traceStorageDir value ( #4962 )
...
fix(trace viewer): updating default traceStorageDir value
When `npx playwright show-trace <tracePath>` command is executed, without providing the `resources` optional parameter, the function expected the `traceStorageDir` default value to be the same directory as in which the tracePath resides. This change updates it to the `dirname(tracePath)/trace-resources` if it exists. Such a directory hirerachy is the default that is created when running the tracer in Playwright.
2021-01-11 13:36:35 -08:00
Dominik Deren
e990a805a8
fix: restore network request title in trace viewer. ( #4957 )
2021-01-09 13:03:58 -08:00
Dmitry Gozman
5a2cfdbd47
api: add isChecked method ( #4953 )
...
This adds `{Page,Frame}.isChecked(selector)` and `ElementHandle.isChecked()` methods.
Useful to do assertions in tests:
```js
await page.click('text="Add TODO"');
expect(await page.isChecked('.item-done')).toBe(false);
```
2021-01-08 17:36:17 -08:00
Pavel Feldman
b7e0b1b393
docs: annotate evaluate(pageFunction) js-specific ( #4954 )
2021-01-08 16:17:54 -08:00
Joel Einbinder
31d980fc92
chore(webpack): minify injected sources ( #4946 )
2021-01-08 16:15:05 -08:00
Dmitry Gozman
135e0344fc
feat(cli): small improvements ( #4952 )
...
- Allow specifying which browsers to install. This comes handy in playwright-cli.
- Print "npx playwright" as a tool name in help messages, instead of "cli".
2021-01-08 15:42:08 -08:00
Dmitry Gozman
f0a8729137
chore: remove unused selector engines ( #4950 )
...
css and id are superseeded by the new css engine.
2021-01-08 14:51:43 -08:00
Dmitry Gozman
3f904056ee
api: add isVisible, isHidden, isEnabled, isDisabled and isEditable ( #4915 )
...
These methods are useful for verification in tests, e.g.
```js
expect(await page.isEnabled(':text("Remove All")')).toBe(false);
await page.click(':text("Add Item")');
expect(await page.isVisible('.item:text("new item")')).toBe(true);
expect(await page.isEnabled(':text("Remove All")')).toBe(true);
```
2021-01-08 12:27:54 -08:00
Dmitry Gozman
d08cbc33a7
docs: brush up selector docs ( #4939 )
...
docs: brush up selector docs
- Remove duplication
- Move extensions block to ChromiumBrowser
- Remove accidental ":xpath" extension from css selectors
- Document :has and :is extensions
2021-01-08 10:59:24 -08:00
Dmitry Gozman
2e05feac25
feat(cli): bring in trace viewer ( #4920 )
2021-01-07 16:15:34 -08:00
Dmitry Gozman
eb9ea20511
feat(selectors): proximity selectors ( #4923 )
2021-01-07 14:12:59 -08:00
Yury Semikhatsky
0a2fe62cb7
fix(extensions): do not enable screencast for background pages ( #4919 )
2021-01-06 15:08:28 -08:00
Dmitry Gozman
f672033e11
chore: bundle small build of highlight.js ( #4907 )
...
This follows the "build from source" configuration (https://highlightjs.org/usage/#source )
and reduces the footprint from 2mb to 100kb.
2021-01-06 09:31:42 -08:00
Dmitry Gozman
d47fb6a780
feat(cli): build driver and upload to cdn ( #4841 )
2021-01-05 14:04:47 -08:00
Dmitry Gozman
5215add60d
chore: remove selectorsV2Enabled switch ( #4880 )
...
Selectors V2 seem to stick.
2021-01-04 15:32:31 -08:00
Dmitry Gozman
c4df522555
fix(handles): always create proper handle type ( #4879 )
2021-01-04 13:54:55 -08:00
Pavel Feldman
31ffeb32e3
doc: further align docs w/ playwright.dev (2) ( #4871 )
2021-01-04 13:50:29 -08:00
Joel Einbinder
6697dadca2
chore(eslint): add rule no-unused-expressions ( #4848 )
2020-12-29 09:59:35 -08:00
Tom Jenkinson
d08f8487c4
chore: remove useless statement that was a typo ( #4846 )
2020-12-29 08:58:09 -08:00
Dmitry Gozman
068d8612a7
feat(cli): make run-driver work ( #4836 )
2020-12-28 15:44:24 -08:00
Dmitry Gozman
293a7bdd4c
feat(cli): bring in codegen and tests ( #4815 )
2020-12-28 14:50:12 -08:00
Dmitry Gozman
905f28c339
feat(types): simplify android and electron types ( #4829 )
...
These now follow the scheme for regular types.
2020-12-26 20:25:18 -08:00
Dmitry Gozman
34c1b338be
feat(types): make our client classes implement public types ( #4817 )
...
This patch:
- introduces non-exported but used in api/impl struct types (e.g. Point);
- makes all client classes implement respective public api interface.
Pros:
- Typescript is now responsible for type checking.
We can remove our doclint checker (not removed yet).
- Electron and Android types can be defined in the same way
(this is not implemented yet).
- We can move most of the type structs like Point to the public api
and make some of them available.
Cons:
- Any cons?
2020-12-26 17:05:57 -08:00
Pavel Feldman
2cb5770183
docs: move playwright module into api-body.md ( #4827 )
2020-12-26 15:33:29 -08:00
Dmitry Gozman
225e65e076
feat(cli): share console api between cli and debug mode ( #4807 )
2020-12-23 14:15:16 -08:00
Dmitry Gozman
f709e2300c
feat(cli): bring selector generator into playwright ( #4795 )
...
Also remove unused `SelectorEngine.create` function and add tests.
2020-12-23 12:44:47 -08:00
Yury Semikhatsky
8d4c46ac19
fix: throw if quality=0 is passed for png screenshot ( #4812 )
2020-12-23 09:53:14 -08:00
Dmitry Gozman
d40afa2fbf
feat(cli): first few cli commands ( #4773 )
...
This sets up cli capabilities and brings in a few commands from playwright-cli.
2020-12-22 14:54:13 -08:00
Dmitry Gozman
cc32217e84
chore: fix check-deps ( #4801 )
2020-12-22 11:01:25 -08:00
Joel Einbinder
ff2a1f1bd0
fix(webkit): properly detect arm64 on apple silicon ( #4783 )
2020-12-21 16:37:55 -08:00
Yury Semikhatsky
779c5fff16
chore(installer): remove stale backlinks silently ( #4786 )
2020-12-21 12:31:19 -08:00
Yury Semikhatsky
7bbda4370d
chore: improve error reporting when browse download fails ( #4787 )
2020-12-21 12:31:01 -08:00
Yury Semikhatsky
94ee48f8ce
fix: allow proxy credentials with empty password ( #4779 )
2020-12-21 11:47:13 -08:00
Pavel Feldman
774eb53980
fix(adb): force page scale factor update on connection ( #4755 )
2020-12-17 18:28:49 -08:00
Yury Semikhatsky
3219057ab0
fix(webkit): support utf-8 characters in postData, bump to 1407 ( #4744 )
2020-12-17 18:09:06 -08:00
Dmitry Gozman
5a1c9f1fe1
fix(selector): bring back v1 query logic ( #4754 )
...
It turned out that v1 query logic is not shimmable by v2 logic.
This change brings back v1 query logic for `>>` combinator.
2020-12-17 17:01:46 -08:00
Dmitry Gozman
9a0023cc03
fix(selectors): text engine after capture matches scope ( #4749 )
2020-12-17 06:19:43 -08:00
Dmitry Gozman
35533b15c1
fix(scroll): scroll from under the sticky header ( #4641 )
...
When element with position:sticky covers some part of
the scroll container, we could fail to scroll from under it
to perform an action. To fight this, we can try different
scroll alignments and scroll to the top/bottom/center
in the attempt to scroll away from sticky header/footer/sidebar.
2020-12-16 15:29:42 -08:00
Dmitry Gozman
7385b31f13
fix(driver): stop sending protocol messages after disconnect ( #4688 )
...
When the client only closes the input pipe, we are still
sending protocol messages over the output pipe. This could
probably lead to some errors, e.g. write buffer being full.
2020-12-16 14:21:59 -08:00
Max Schmitt
2c409b040e
fix(android): leaking adb socket connections ( #4730 )
2020-12-15 20:15:25 -08:00
Pavel Feldman
97be66b15c
fix(adb): enable newPage in mobile browser ( #4728 )
2020-12-15 15:14:16 -08:00
Max Schmitt
69476a86a7
chore: add support for macOS Big Sur 11.1 ( #4724 )
...
11.1 is an official update for macOS Big Sur. We should maybe add a custom macOS version parser which falls back if minor version changes so we don't have to maintain all the versions manually.
Fixes #4722
2020-12-15 10:49:02 -08:00
Pavel Feldman
e02c54485c
chore(adb): make driver smaller ( #4713 )
2020-12-14 18:39:14 -08:00
Andrey Lushnikov
b09e0d01bd
fix(launchdoctor): make launch doctor to warn on Win7 ( #4718 )
...
Windows 7 was end-of-lifed on January 14, 2020. We don't support this
system, but we'd like to have a best-effort to work there.
It does look like Chromium is missing some libraries on Win 7, however
it still manages to work there. To support this usecase, this patch
starts printing console warning about missing libraries on Win 7 only
instead of refusing to launch.
Fixes #3496
2020-12-14 16:40:51 -08:00
Dmitry Gozman
355a58e616
feat(storage): accept path in save/load storage apis ( #4714 )
...
Also make Firefox accept `expires: -1` cookies.
2020-12-14 16:03:52 -08:00
Yury Semikhatsky
0b8f34e726
docs: rename aggregate parameter objects to params ( #4715 )
2020-12-14 15:27:02 -08:00
Dmitry Gozman
ab63063c03
fix(tracing): store relative video path in the trace ( #4710 )
2020-12-14 13:31:55 -08:00
Pavel Feldman
4799e8f20b
feat(adb): add screenshot ( #4701 )
2020-12-13 23:20:13 -08:00
Pavel Feldman
1596b53da2
test(adb): fix browser tests ( #4700 )
2020-12-13 22:33:00 -08:00
Pavel Feldman
f89dcc7ba7
feat(adb): implement push ( #4697 )
2020-12-13 22:00:37 -08:00
Pavel Feldman
844b2c8f93
chore(adb): lint the driver ( #4696 )
2020-12-13 09:35:28 -08:00
Pavel Feldman
ad5309ca6b
feat(adb): make shell return binary ( #4695 )
2020-12-13 08:33:35 -08:00
Pavel Feldman
7c89ec051a
feat(adb): expose a11y tree ( #4694 )
2020-12-13 08:14:32 -08:00
Max Schmitt
1b7fb7d56a
feat(android): expose installAPK(path) and ADB socket ( #4689 )
2020-12-12 09:36:38 -08:00
Pavel Feldman
6cc695d92a
test(adb): fix the adb tests ( #4691 )
2020-12-12 01:18:32 -08:00
Pavel Feldman
aa1b546bd0
chore(android): respect timeout, add build script ( #4690 )
2020-12-11 23:35:25 -08:00
Pavel Feldman
f20518f252
fix(har): do not complain about a lot of listeners ( #4675 )
2020-12-11 23:15:36 -08:00
Andrey Lushnikov
765b07781c
feat: start downloading arm64 Chromium builds ( #4681 )
2020-12-10 21:09:03 -08:00
Pavel Feldman
616df7d2f4
fix(adb): minor fixes ( #4678 )
2020-12-10 16:37:18 -08:00
Dmitry Gozman
495085cbb2
fix(chromium): make interception work with dedicated workers ( #4658 )
2020-12-10 15:04:57 -08:00
Dmitry Gozman
b9c959768c
feat(selectors): optimize old->new conversion for css ( #4672 )
2020-12-10 15:03:02 -08:00
Dmitry Gozman
12dc04a304
feat(selectors): optimize old->new selectors conversion for text ( #4671 )
2020-12-10 13:53:19 -08:00
Dmitry Gozman
c8e9b0542b
feat(selectors): disable proximity selectors ( #4659 )
...
These are not ready for prime time yet.
2020-12-10 10:04:10 -08:00
Pavel Feldman
8fc49c98fa
feat(adb): support webviews ( #4657 )
2020-12-09 17:15:24 -08:00
Dmitry Gozman
b67e022111
feat(selectors): update new text selector ( #4654 )
...
We now default to `text` that does substring case-insensitive match
with normalized whitespace. `text-is` matches the whole string.
`matches-text` is renamed to `text-matches`.
2020-12-09 16:05:51 -08:00
Pavel Feldman
aacd8e633c
chore: expose adb devices and actions ( #4647 )
2020-12-09 15:06:57 -08:00
Dmitry Gozman
ab44d682ca
feat(selectors): remove index for now, add documentation ( #4640 )
2020-12-09 13:08:37 -08:00
Andrey Lushnikov
1d90d7a925
feat: fix browser installation on mac 11.0-arm64 ( #4652 )
2020-12-09 09:54:37 -08:00
Andrey Lushnikov
bc0af57ad3
feat: support download of native WebKit build for Apple M1 ( #4648 )
2020-12-09 09:04:32 -08:00
Dmitry Gozman
1060fce005
feat(selectors): explicit list of custom functions ( #4629 )
...
When parsing CSS, we assume everything is a valid CSS function,
unless it is in the list of custom functions. This way we'll parse
future CSS functions automatically.
2020-12-08 09:38:43 -08:00
Dmitry Gozman
be16ce4bd2
feat(errors): append recent browser logs when browser disconnects ( #4625 )
2020-12-08 09:35:28 -08:00
Joel Einbinder
ea833daa89
chore: fix internal binding ( #4598 )
2020-12-08 08:38:29 -08:00
Dmitry Gozman
1e754a4d80
feat(selectors): proximity selectors ( #4614 )
...
This includes 'left-of', 'right-of', 'above', 'below', 'near' and 'within'.
2020-12-07 16:07:47 -08:00
Dmitry Gozman
c36f5fa33a
feat(chromium): roll to 833159 ( #4626 )
2020-12-07 15:55:22 -08:00
Dmitry Gozman
18b565a969
feat(selectors): correctly work in large DOM ( #4628 )
...
This adds a test, fixes a bunch of call stack issues and
improves performance in some places.
2020-12-07 15:51:44 -08:00
Dmitry Gozman
1e0ab79f9a
feat(selectors): add visible and index engines ( #4595 )
2020-12-06 15:03:36 -08:00
Dmitry Gozman
8218a71a9b
feat(selectors): add more tests for css selectors ( #4596 )
2020-12-04 16:12:59 -08:00