Commit graph

801 commits

Author SHA1 Message Date
Max Schmitt aeab0fa330
docs(docker): add note about how to list all tags (#3596)
* docs(docker): add note about how to list all tags

* Update README.md

Co-authored-by: Arjun Attam <arjunattam@gmail.com>
2020-08-25 10:46:21 -07:00
Max Schmitt 72b3147d7c
docs(example): simplified overwriting of requests (#3621) 2020-08-25 10:37:45 -07:00
ragog 2b3a1ae9c6
docs: add theheadless.dev to showcase (#3597) 2020-08-24 08:08:54 -07:00
Dmitry Gozman cd220daa83
chore: move src files to server (#3593) 2020-08-24 06:51:51 -07:00
Dmitry Gozman 18292325b6
api: add waitForElementState('disabled') (#3537)
Allows waiting for the element to be disabled.
2020-08-19 17:20:10 -07:00
Arjun Attam a78d83e833
docs: clarify response and requestfinished events (#3532)
* docs: clarify response and requestfinished events

* fix typo
2020-08-19 13:36:56 -07:00
Dmitry Gozman 0e9793c452
api: ElementHandle.waitForElementState (#3501)
This method waits for visible, hidden, stable or enabled state,
similar to the actionability checks performed before actions.

This gives a bit more control to the user. Some examples:
- Allows to wait for something to be stable before taking a screenshot.
- Allows to wait for the element to be hidden/detached after a specific action.
2020-08-17 16:22:34 -07:00
Dmitry Gozman 85c93e91a7
api: introduce ElementHandle.waitForSelector (#3452)
This is similar to Frame.waitForSelector, but relative to the handle.
2020-08-14 14:47:24 -07:00
Dmitry Gozman dec8fb7890
fix(hover): do not require the element to be enabled before hovering (#3445) 2020-08-14 13:18:32 -07:00
Pavel Feldman 2f5a0a6c07
test: slowly removing testOptions (#3464) 2020-08-14 07:22:54 -07:00
Natan d9727c62df
Typo fix (#3430) 2020-08-13 10:44:17 -07:00
Arjun Attam 06ddacd7be
docs: introduce doc on authentication (#3404) 2020-08-12 16:02:23 -07:00
Dmitry Gozman a574fa6edb
api: add Frame.page() getter (#3392) 2020-08-12 14:45:36 -07:00
Dmitry Shcherbakov 22d1be32fb
docs: add showcase how to use allure-report and jest-circus with playwright (#3408) 2020-08-12 14:34:58 -07:00
Arjun Attam be7db4d2c6
docs(ci): add sample config for jenkins (#3398) 2020-08-12 14:01:55 -07:00
Ross Wollman 079b6e0a66
docs: add getting help section (#3410)
The Playwright Community is awesome and responsive! <3 Let's make the
community as a resource more prominent in the docs. (Currently they just
appear in a footer, but this change calls it out explicitly.)
2020-08-12 10:31:35 -07:00
Arjun Attam 9375cc62b8
docs: introduce docs for page object models (#3391) 2020-08-11 15:46:36 -07:00
Dmitry Gozman 6c68435e7e
docs: make api docs around pointer actions more explicit (#3374)
- Describe performed steps in detail.
- Describe timeout conditions.
2020-08-10 15:08:52 -07:00
Dan Bjorge 6f3f608d5b
docs(showcase.md): add Accessibilty Insights to community showcase (#3368) 2020-08-10 10:22:45 -07:00
Dmitry Gozman c6acc32889
docs(api): explicit nulls, use Serializable and EvaluationArgument more (#3358) 2020-08-07 20:55:22 -07:00
Yevhen 6a19bf5b54
docs(showcase): add expected-condtion-playwright library (#3356)
* docs(api/input): fix typo

* docs(api): remove extra square bracket

* docs(showcase): add expected-condtion-playwright library
2020-08-07 16:29:59 -07:00
Yevhen 3665bb0a9a
docs(api): remove extra closing square bracket, add an opening square bracket. (#3342) 2020-08-07 08:29:31 -07:00
Thad Guidry 9d543f9446
docs: fix typo in Core Concepts doc page (#3343) 2020-08-07 08:27:47 -07:00
Arjun Attam 4ec3290da3
docs(api): replace select-all note with example (#3328) 2020-08-06 21:23:30 -07:00
Dmitry Gozman cdfe73fee3
api(console): make ConsoleMessageLocation properties required (#3290)
Everywhere in our api, possibly missing properties are nullable.
However, to make things easier for everyone, we just default to an
empty url instead, so that users do not have to null-check it.
2020-08-05 22:25:56 -07:00
Pavel Feldman b03b4a5566
chore: doc type nits (#3283) 2020-08-05 09:54:31 -07:00
Arjun Attam 1673e62779
docs: update table of contents for docs sidebar (#3291) 2020-08-04 15:48:32 -07:00
Dmitry Gozman 028dd08155
docs: update documentation for evaluation argument (#3287) 2020-08-04 14:45:34 -07:00
Yury Semikhatsky de55fa6482
fix(webkit): ensure WebKit can play h264 video (#3272) 2020-08-03 16:06:57 -07:00
Dmitry Gozman ba9030e6be
docs: update api.md with more references to actionability (#3255) 2020-07-31 12:16:21 -07:00
Dmitry Gozman 928a1769ef
docs: update docs (#3253)
- Make docs/README.md more prominent, include capabilities
- Link to examples from specific topics
2020-07-31 11:58:12 -07:00
Ross Wollman ce0ddd270b
feat(download): create directories for saveAs (#3249)
This is to match the behavior for screenshots path added in #3247.
2020-07-30 23:21:03 -07:00
Pavel Feldman 93056ed8ef
chore(rpc): more protocol nits (#3246) 2020-07-30 17:51:41 -07:00
Dmitry Gozman 2f95b6e34e
feat(selectors): auto-detect xpath starting with ".." (#3239) 2020-07-30 16:21:48 -07:00
Pavel Feldman 1728a3df93
chore: minor protocol fixes (#3226) 2020-07-30 11:14:41 -07:00
Dmitry Gozman 9132d23b2b
fix(screenshot): wait for stable position before taking element screenshot (#3216)
Same goes for scrollIntoViewIfNeeded.
2020-07-29 16:36:02 -07:00
Max Schmitt 21b1be7351
docs(selectors): fixed selector register example (#3169) 2020-07-29 10:37:57 -07:00
Dmitry Gozman 97c10002e7
api: introduce Browser.version() (#3177) 2020-07-27 13:41:35 -07:00
Tierney Cyren 51ce47f30f
docs: use "Node.js" instead of "Node" (#3176)
* docs: use "Node.js" instead of "Node"

* docs: fix broken anchor
2020-07-27 10:27:41 -07:00
Pavel Feldman e7cca86757
fix(postData): allow overriding binary post data (#3120) 2020-07-24 12:16:45 -07:00
Pavel Feldman 80c0711d98
feat(firefox): roll firefox to r1137 (#3095) 2020-07-22 15:59:37 -07:00
Ross Wollman d8a17fb0ab
api(download): Add saveAs helper (#2872) 2020-07-22 14:55:27 -07:00
Dmitry Gozman ced0bc2d1b
api: make clear the use of null in page.emulateMedia (#3078)
We can pass null to disable emulating particular feature.
This change updates the docs and rpc protocol accordingly.
2020-07-21 18:56:41 -07:00
Andrey Lushnikov c0d9ccfebf
docs: update documentation on Chromium sandbox (#3077)
This patch:
- updates docker seccomp profile to use a slightly modified default docker
profile
- removes SUID sandbox documentation since it doesn't seem to work

References #2745
2020-07-21 17:43:41 -07:00
Andrey Lushnikov 47e30f047b
feat: introduce chromiumSandbox launch option (#3067)
The option is intended to be used instead of the `--no-sandbox`
argument that is accepted exclusively by Chromium and crashes
WebKit.

References #2745
2020-07-21 13:49:09 -07:00
Pavel Feldman 99658c2d32
feat(bringToFront): enable on all browsers (#3052) 2020-07-21 09:36:54 -07:00
Darío Kondratiuk 79d5991a27
doc: Improve unroute documentation (#3026) 2020-07-18 10:54:09 -07:00
Pavel Feldman 6199ba28a9
devops: remove travis, appveyor, circle for now (#3029) 2020-07-18 10:52:47 -07:00
Andrey Lushnikov 7d2078ef6f
devops: bake browsers into Docker image (#2990)
This patch bakes browsers into docker image.

Important observations:
- We now re-build docker image everytime we roll browsers.
- Docker image size almost doubles: from `225MB` to `496MB`.

References #2926
2020-07-17 16:51:39 -07:00
Tapajyoti Bose 16e3776a9c
fix(JSCoverageEntry): added scriptId and isBlockCoverage (#2955) 2020-07-16 20:32:49 -07:00
Andrey Lushnikov 824f6491d3
devops(docker): fix docker for chromium (#2966)
Docker image size doesn't change.
2020-07-15 17:20:48 -07:00
Andrey Lushnikov d750ba38cd
fix(docker): add missing dependencies to docker image (#2963) 2020-07-15 17:15:03 -07:00
Andrey Lushnikov 6c75cbe5f5 docs: fix link to github workflow in releasing doc 2020-07-13 17:24:25 -07:00
Andrey Lushnikov a06ba1c770
devops: add utility to count compressed docker image size (#2920)
This adds a new script to calculate docker image size with
all parent layers.

Note: take this metrics with a grain of salt, since in reality
docker compresses and reuses layers.

Some historic stats obtained with this script:
- **`208MB`** (-33MB) chore(docker): skip "recommended" dependencies (#2917) (1cebf8757c)
- **`241MB`** (-29MB) chore(docker): trim some of the gstreamer dependencies (#2897) (bce4b1aea9)
- **`272MB`** (-1MB) devops: do cache busting for APT (#2656) (bb34418095)
- **`273MB`** (+49MB) fix(webkit): update Docker file to include gstreamer (#2636) (5c6c65915c)
- **`224MB`** (+0MB) chore: fix emojis for CR and FF in Dockerfile (#2522) (24316ad261)
- **`224MB`** (-1MB) fix: Dockerfile for Firefox (#1937) (b516ac4fb2)
- **`225MB`** (+49MB) devops(docker): Install ffmpeg dependency, adding codecs necessary for video playback in Firefox (#1627) (222d01caaa)
-  **`176MB`** (+32MB) chore(docs): optionally install XVFB in docker(ec3ee66043)
-  **`144MB`** (+144MB)  feat: add a playwright-ready docker image (#1161)(1781ae7006)
2020-07-13 17:16:19 -07:00
Arjun Attam b2d820a185
docs(emulation): separate section for dark mode (#2915) 2020-07-13 15:47:13 -07:00
Yury Semikhatsky 1cebf8757c
chore(docker): skip "recommended" dependencies (#2917) 2020-07-10 16:01:30 -07:00
Yury Semikhatsky bce4b1aea9
chore(docker): trim some of the gstreamer dependencies (#2897) 2020-07-10 15:56:52 -07:00
Arjun Attam 6a1bd3ae6e
docs: add debugging docs page (#2865) 2020-07-08 08:59:58 -07:00
Yevhen de7969f0f5
docs(api/input): fix typo (#2837) 2020-07-07 10:46:13 -07:00
Arjun Attam e154e0837b
docs(ci): fix gitlab setup 2020-06-29 16:04:58 -07:00
Arjun Attam c8076121e2
docs: add new doc for multi-page scenarios (#2737)
* docs: multi-page scenarios

* docs: multi-page scenarios

* docs: multi-page scenarios
2020-06-29 15:46:33 -07:00
Arjun Attam 69127ad8d3
docs(docker): update to use official image (#2760) 2020-06-29 15:23:01 -07:00
Arjun Attam aad6301aca
docs(ci): update intro, caching section, add gitlab (#2735) 2020-06-26 17:49:18 -07:00
Arjun Attam 0cb5e95bdf
docs(frames): improve snippet to get frame (#2734) 2020-06-26 17:49:03 -07:00
Dmitry Gozman 807dc1f324
fix(crash): improve documentation for crash, reject waitForEvent (#2694) 2020-06-25 09:53:56 -07:00
Dmitry Gozman 39ce35e154
fix(errors): strict error handling around element operations (#2567)
- Gave all possible dom errors distinct names, and throw them on the node side.
- Separated errors into FatalDOMError and RetargetableDOMError.
  Fatal errors are unrecoverable. Retargetable errors
  could be resolved by requerying the selector.
- This exposed a number of unhandled 'notconnected' cases.
- Added helper functions to handle errors and ensure TypeScript catches
  unhandled ones.
2020-06-24 15:12:17 -07:00
Dmitry Gozman 355305d31d
feat(screenshot): accept timeout, migrate to Progress, wait for visible (#2679)
Element screenshot now waits for the element to become visible and
throws on detach.

Both screenshot methods accept a timeout and capture logs using Progress.
Also, carefully handling exceptions and restoring the viewport.
2020-06-24 10:16:54 -07:00
Arjun Attam 4af8c6831e
docs: improve snippets for console logs (#2684) 2020-06-23 19:34:18 -07:00
Dmitry Gozman d0a6e1a64e
fix(dom): make selectText and scrollIntoViewIfNeeded wait for visible (#2628)
All other methods wait for the element to be visible, so we should make
them behave similarly.
2020-06-23 13:02:31 -07:00
Ivan Krutov a8eaee3173
docs: add Moon to showcase.md (#2677) 2020-06-23 10:54:37 -07:00
Arjun Attam 6cec2dfb7c
docs: add assertions doc (#2585)
* docs: add assertions doc

* docs: assertions and verification split
2020-06-22 16:53:56 -07:00
Andrey Lushnikov bb34418095
devops: do cache busting for APT (#2656)
To avoid caching old package lists, every `apt-get install`
should be prefixed with `apt-get update`.

More info on the matter:
- https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#apt-get
- https://github.com/moby/moby/issues/3313
2020-06-22 15:54:19 -07:00
Yury Semikhatsky 5c6c65915c
fix(webkit): update Docker file to include gstreamer (#2636) 2020-06-18 18:12:00 -07:00
Max Schmitt 20b23cd21e
docs: fixed various typos (#2633) 2020-06-18 15:04:21 -07:00
Andrey Lushnikov f61e85291b
docs: update docs for per-browser download hosts (#2630) 2020-06-18 12:35:37 -07:00
Othman Lanizi 090d450651
docs(core-concepts.md): fix typos (#2608)
Realized that the evaluateHandle method wasn't spelled properly in these two instances.
2020-06-17 14:16:56 -07:00
Arjun Attam 1bc04a088b
docs: using DEBUG=pw:api (#2578) 2020-06-15 18:34:58 -07:00
Dmitry Gozman fd9b1031fa
docs: add actionability doc (#2577) 2020-06-15 13:40:55 -07:00
Arjun Attam 2659910be8
docs: make environment vars snippets cross-platform (#2564) 2020-06-13 13:11:39 -07:00
Arjun Attam 6530c18acd
docs: improvements to ci provider configs (#2565) 2020-06-13 13:11:24 -07:00
Darío Kondratiuk e3f34f6ae2
fix(selectOption): allow passing null to unselect all (#2405) 2020-06-10 09:37:29 -07:00
Max Schmitt 24316ad261
chore: fix emojis for CR and FF in Dockerfile (#2522) 2020-06-10 08:02:56 -07:00
Pavel Feldman 9aa9d6bc1d
feat(downloads): accept downloads in persistent, allow specifying the downloadsPath (#2503) 2020-06-08 21:45:35 -07:00
Pavel Feldman fb058ffe0d
feat(proxy): allow specifying proxy (#2485) 2020-06-05 13:50:15 -07:00
Pavel Feldman c001facffc
feat(firefox): allow passing user prefs at launch time (#2417) 2020-05-31 09:28:57 -07:00
GkqqNkKC 59a0451b62
docs: fix spell mistake on api.md (#2408) 2020-05-29 08:51:45 -07:00
Dmitry Gozman 057ae14adc
feat: make browserServer.kill() wait for the process to exit (#2375)
This ensures we cleaned everything up.
2020-05-27 19:59:03 -07:00
Max Schmitt 9dfe9348ac
feat: Request.postDataJSON (#2368) 2020-05-27 18:43:49 -07:00
Daniel Rosenwasser 4e86d39881
docs: recommend a dev install of Playwright in the docs. (#2355) 2020-05-26 10:24:48 -07:00
Dmitry Gozman aae3f1e75d
feat(default context): support selected options for default context (#2177) 2020-05-21 15:13:16 -07:00
Pavel Feldman 2ede4bce12
chore: further unify launching and connection (#2320) 2020-05-21 09:43:10 -07:00
Andrey Lushnikov e658a3e48a
docs(click.md): update click.md documentation (#2303)
Updates according to 545c43d28d
2020-05-20 00:04:44 -07:00
Andrey Lushnikov f24696be62
feat: add page convenience methods for textContent and getAttribute (#2235)
This patch adds:
- `page.innerText()` / `frame.innerText()`
- `page.innerHTML()` / `frame.innerHTML()`
- `page.textContent()` / `frame.textContent()`
- `page.getAttribute()` / `frame.getAttribute()`

Fixes #2143
2020-05-18 17:58:23 -07:00
Pavel Feldman 2bd427ad1d
feat(exposeBinding): a more powerful exposeFunction with source attribution (#2263) 2020-05-18 14:28:06 -07:00
David Gilbertson 9e2733d520
docs(test-runners.md): add WebStorm comment (#2279) 2020-05-17 20:43:00 -07:00
David Gilbertson 125312f78b
docs(core-concepts.md): fix typo (#2273) 2020-05-17 08:58:33 -07:00
Dmitry Gozman 696b40a508
docs: update click.md 2020-05-14 10:44:20 -07:00
Dmitry Gozman e96e471e40
docs: draft for the various click scenarios doc (#2218) 2020-05-13 15:15:14 -07:00
Pavel Feldman f63ea3ffd2
feat(downloads): expose suggested filename (#2062) 2020-05-12 19:23:08 -07:00
Arjun Attam 84f966c301
docs: fix typo 2020-05-12 18:32:47 -07:00
Dmitry Gozman 6361e07ae4
fix(docs): clarify repeating calls to setHTTPCredentials (#2212) 2020-05-12 18:29:55 -07:00
Andrey Lushnikov 5d49c5d612
docs: refer to "working with selectors" from all 'selector' arguments (#2213)
The "working with selectors" section elaborates on rules that we use
to parse selectors.

Fixes #2197
2020-05-12 16:15:14 -07:00
Andrey Lushnikov b4acc56d63
docs(api.md): elaborate on visibility options in waitForSelector (#2208)
Fixes #2202
2020-05-12 15:46:19 -07:00
Arjun Attam 054ee639b4
docs(ci): elaborate ci caching docs (#2192) 2020-05-11 22:52:21 -07:00
Łukasz Fiszer 0c51a2e89d
docs: add mockiavelli library to Showcase (#2181) 2020-05-11 13:11:59 -07:00
Arjun Attam 2510edc394
docs(ci): update docs for caching and troubleshooting (#2176) 2020-05-11 09:54:03 -07:00
Pavel Feldman d487a315b9
doc: fix the route docs (#2174) 2020-05-11 08:22:48 -07:00
Vasilii Artemchuk 4c4fa8d38c
docs: some syntax fixes (#2116) 2020-05-07 12:33:35 -07:00
Pavel Feldman f86ddacb85
docs: mention click(force) and dispatchEvent(click) in the click docs (#2136) 2020-05-07 12:29:59 -07:00
Pavel Feldman 41de5bc388 Revert "chore: mark v0.18.0 (#2122)"
(should go only into branch)
This reverts commit 19e8c327ba.
2020-05-05 16:55:55 -07:00
Pavel Feldman 19e8c327ba
chore: mark v0.18.0 (#2122) 2020-05-05 16:52:54 -07:00
Andrey Lushnikov 193924f405
chore: add script to generate release notes (#2099) 2020-05-04 22:28:09 -07:00
Vasilii Artemchuk 52aa929922
docs(api.md): emulateMedia syntax fixes (#2104) 2020-05-04 17:48:18 -07:00
Vasilii Artemchuk ef9eed8702
docs(api.md): emulateMedia example fix (#2100) 2020-05-04 15:06:33 -07:00
Pavel Feldman bcce48362a
api(waitForSelector): make "state: visible" default, includes rename to state (#2091) 2020-05-04 11:03:44 -07:00
Pavel Feldman bb13a329f0 docs: better intro toc 2020-05-03 14:22:07 -07:00
Pavel Feldman 5bc62a0e25 docs: add anchors for toc topics 2020-05-03 11:23:19 -07:00
Pavel Feldman eed2bac441 docs: added overview links 2020-05-03 11:17:01 -07:00
Max Schmitt 22e7513272
docs(verification): fixed unclosed code tag (#2085)
Caused in 3979d4f492 and ended up in a failing CI
2020-05-03 07:59:41 -07:00
Sergey Bekrin c38f26ea02
docs(installation.md): update cache path on linux (#2084) 2020-05-03 07:58:46 -07:00
Pavel Feldman 3979d4f492 docs: bring snippets higher up in the docs 2020-05-02 17:21:46 -07:00
Andrey Lushnikov 3251465657
chore: add script to fetch closed bugs since git commit (#2066) 2020-04-30 17:57:45 -07:00
Arjun Attam 7051c0bf34
docs(installation): update windows location 2020-04-30 17:41:56 -07:00
Pavel 671e465450 docs(testrunners): brush up testrunners doc 2020-04-30 12:28:10 -07:00
Joel Einbinder 12edf4f03f
doc: test runner examples (#2057) 2020-04-30 11:24:27 -07:00
Andrew Healey 06273ef955
docs(api.md): Fix wording of javaScriptEnabled description (#2050) 2020-04-29 22:21:07 -07:00
Dmitry Gozman 953dd36d38
feat(api): remove 'mutation' polling option (#2048)
It is not compatible with shadow dom.
2020-04-29 21:34:14 -07:00
Pavel Feldman 9f62f29946
feat(install): use shared installation folder by default (#2044) 2020-04-29 18:59:20 -07:00
Dmitry Gozman 3fefa7b7ff
docs: fix docs for $foo methods that assumed css selectors (#2039) 2020-04-29 15:24:59 -07:00
Steve Davis 4652b9e248
docs: Recommend using --ipc=host in docker (#2038) 2020-04-29 14:52:50 -07:00
Dmitry Gozman 3a29631e9f
docs: improve docs around actionability and visibility (#2036) 2020-04-29 14:18:01 -07:00
Dmitry Gozman 031587a9cf
fix(visibility): unify visibilty checks (#1998)
This applies a common definition of visibility to clicks and waitfors:
- non-empty bounding box - implies non-empty content and no display:none;
- no visibility:hidden.
2020-04-27 15:40:46 -07:00
Dmitry Gozman 4b0d977489
fix(docs): clarify the single/double quotes usage in text selector (#2002) 2020-04-27 14:16:13 -07:00
Pavel Feldman 7f8aa703dd
api(waitFor): remove waitFor, use specialized wait functions (#1995) 2020-04-27 12:08:29 -07:00
Dmitry Gozman f9f5fd03b0
feat(selectors): allow to capture intermediate result (#1978)
This introduces the `*name=body` syntax to capture intermediate result.
For example, `*css=section >> "Title"` will capture a section that contains "Title".
2020-04-27 10:14:09 -07:00
Arjun Attam a2664b1580
docs: update ci section in getting started 2020-04-27 09:27:50 -07:00
Arjun Attam 158e592fa8
docs(installation): adds requirements and renames the doc (#1965) 2020-04-24 12:20:04 -07:00
Arjun Attam 8ceba1eea0
docs(ci): update ci docs to emphasize gh action (#1964) 2020-04-24 12:19:54 -07:00
Arjun Attam 28f98ac278
docs(readme): update readme and intro docs (#1963) 2020-04-24 12:19:31 -07:00
Andrey Lushnikov 4b263d6334
docs(releasing): update releasing docs according to new process (#1958) 2020-04-24 08:55:29 -07:00
Marcin Pietruszka 3c71125d7f
Fix typo (#1961) 2020-04-24 08:48:19 -07:00
Andrey Lushnikov 21dc346b16
devops: auto-correct links in our documentation (#1955) 2020-04-23 19:52:06 -07:00
Dmitry Gozman 5ac7f0e4ec
fix(text selector): allow single quoted text (#1952) 2020-04-23 18:48:53 -07:00
Pavel Feldman c1c0237d4e
api(dispatchEvent): page, frame and handle versions added (#1932) 2020-04-23 14:58:37 -07:00
Joel Einbinder 671cfa0a54
fix(types): support objects with typed keys and values (#1752)
There are a few places in the API where we use objects as maps. This patch adds them to docs and the types.

For `env`, we accept booleans and numbers as well because they are often used for their string values.
2020-04-23 14:45:57 -07:00
Pavel Feldman 40bed0f50c
docs: fix typos (#1947) 2020-04-23 13:40:34 -07:00
Arjun Attam 51ed5c5b4d
fix(examples): closes #1916 (#1934) 2020-04-23 08:44:58 -07:00
Max Schmitt b516ac4fb2
fix: Dockerfile for Firefox (#1937) 2020-04-23 08:43:53 -07:00
Andrey Lushnikov f8f3b8862c
docs(verification.md): fix typo 2020-04-22 00:32:46 -07:00
Andrey Lushnikov 89007c8f3d
devops: make README.md to always reflect tip-of-tree (#1911)
As of today, we have tooling in place that makes sure that our
main README.md **roughly** represents the state of the last release:
- browser versions and browser badges are those that we released last
- links to our API point to the last-released API version

This tooling, however, relies on the fact that every release is a sequence
of two consecutive commits:
- one commit that sets `package.json` version to a released version
- the following that "bumps" version to `-post`.

This release process is very unfortunate, because:
- it made releasing from branch impossible
- it required "freezing" commits to the master branch

This patch removes all the tooling and transitions `README.md` to always
represent tip-of-tree state. We will fully rely on
`https://playwright.dev` to show versioned docs.
2020-04-21 22:08:56 -07:00
Andrey Lushnikov 0815ff36be
docs(browsers.md): fix nit 2020-04-21 17:19:10 -07:00
Pavel Feldman fa18c419af
docs(browsers.md): updates and nits 2020-04-21 17:17:29 -07:00
Pavel Feldman 18650589e2
docs(browsers.md): updates and nits 2020-04-21 17:13:14 -07:00
Andrey Lushnikov 89b2fe5f38
feat: introduce PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD env variable (#1892) 2020-04-21 16:47:16 -07:00
Andrey Lushnikov 0935144c21
docs(browsers): add documentation describing managing browsers (#1907) 2020-04-21 16:38:40 -07:00
Arjun Attam 88366f3bb9
docs: adds introduction.md (#1905)
* docs: adds introduction.md

* elaborate on async/await pattern
2020-04-21 15:42:52 -07:00
Yury Semikhatsky e9914ccfea
docs: fix formatting 2020-04-21 11:28:08 -07:00
Pavel Feldman 5b085fdf03
feat(logger): introduce context-level logger (#1896) 2020-04-20 23:24:53 -07:00
Pavel Feldman 80a7fcd2de docs(verification): nits and typos 2020-04-20 17:35:50 -07:00
Yury Semikhatsky c2fe55e630
docs: add verification guide (#1885) 2020-04-20 16:56:46 -07:00
Pavel Feldman 0656771167
api(networkidle): remove networkidle2 (#1883) 2020-04-20 16:52:26 -07:00
Dmitry Gozman 3485ffb4e6
fix(docs): fix snippets, integrate navigations to ToC and core concepts (#1884) 2020-04-20 14:04:49 -07:00
Pavel Feldman 4d8c057d9c docs(selectors&ci): brush up respective sections 2020-04-20 10:38:46 -07:00
Yury Semikhatsky 621df5d68b
docs: fix cross references (#1877) 2020-04-20 10:29:01 -07:00
Yury Semikhatsky ed89c379cb
docs: fix API references 2020-04-20 10:16:56 -07:00
Pavel Feldman 6231d50ba5 docs(core-concepts): follow up on object handles 2020-04-20 09:53:48 -07:00
Andrey Lushnikov 39b37be788
docs(core-concepts.md): add section regarding object & element handles (#1871) 2020-04-20 09:46:36 -07:00
Pavel Feldman 1f43ae692f
feat(logging): introduce logger sink api (#1861) 2020-04-20 07:52:26 -07:00
Pavel Feldman ef7815e95b doc(network): reorder items in network docs 2020-04-19 19:42:40 -07:00
Pavel Feldman f6fec27900 docs(core-concepts): add selectors and auto-wait sections 2020-04-19 19:06:23 -07:00
Pavel Feldman 92a4c70331
docs(input): include clicks and files sections (#1868) 2020-04-19 18:47:36 -07:00
Pavel Feldman a248430af8
reapply api(waitUntil): remove waitUntil options from the actions (#1842) 2020-04-16 20:31:04 -07:00
Andrey Lushnikov 31460b18b8
Revert "api(waitUntil): remove waitUntil options from the actions (#1834)" (#1840)
This reverts commit d0b8710670.

Reason: multiple test failures on all Linux bots
- https://app.circleci.com/pipelines/github/microsoft/playwright/613/workflows/50dc6e2d-23b0-41d2-9765-42983b0ed91d/jobs/610
- https://travis-ci.com/github/microsoft/playwright/builds/160648417
- https://github.com/microsoft/playwright/pull/1839/checks?check_run_id=594015893
2020-04-16 18:46:10 -07:00
Pavel Feldman d0b8710670
api(waitUntil): remove waitUntil options from the actions (#1834) 2020-04-16 16:04:10 -07:00
Pavel 629b77271c docs(loading): nits and fixes 2020-04-16 15:02:41 -07:00
Pavel e67603db27 docs(emulation): review, fix nits 2020-04-16 14:19:21 -07:00
Yury Semikhatsky 42eefa674b
docs: emulation guide (#1831) 2020-04-16 13:54:21 -07:00
Arjun Attam 67cd5698a7
docs: typo fix 2020-04-16 12:48:16 -07:00
Pavel Feldman da24fe12a6
docs: rename to upload-download.md 2020-04-16 12:13:22 -07:00
Arjun Attam ae6b1ba7ce
docs(uploads): fix typo 2020-04-16 11:55:11 -07:00
Pavel Feldman 0d4f73f251
docs(core-concepts): some nits (#1827) 2020-04-16 11:10:11 -07:00
Pavel Feldman 08c8a74e09
docs(network): polish network docs (#1826) 2020-04-16 10:48:38 -07:00
Arjun Attam 858f643e8b
docs(concepts): introduce core concepts doc (#1824) 2020-04-16 10:27:31 -07:00
Pavel Feldman 2280126344
api(setInputFiles): introduce page/frame helpers, document, break compat (#1818) 2020-04-16 10:25:28 -07:00
Andrey Lushnikov 58bb874299
docs(network): introduce network docs (#1822)
* docs(network): introduce network docs

* update title
2020-04-16 09:39:33 -07:00
Dmitry Gozman ba36860d79
feat(api): page.unroute to remove routes (#1813) 2020-04-15 19:55:22 -07:00
Dmitry Gozman 88054e34c9
feat(docs): initial version of the loading explainer (#1800) 2020-04-15 15:21:27 -07:00
Pavel 60eb3cdd3d docs(input): minor edits 3 2020-04-15 11:05:24 -07:00
Pavel 089a9dde96 docs(input): minor edits 2 2020-04-15 11:02:47 -07:00
Pavel 438d2761ff docs(input): minor edits 2020-04-15 11:01:27 -07:00
Pavel Feldman 50680dee57
docs(input): start crafting the input cheat sheet (#1804) 2020-04-15 10:53:47 -07:00
Dmitry Gozman b0d79d5124
feat(shadow): make css pierce shadow by default (#1784)
We leave css:light, text:light, id:light, and similar to opt-out from the shadow dom piercing. The notable exception is xpath that is always light.
2020-04-15 10:16:29 -07:00
Andrey Lushnikov 0ba823dd6f
feat: introduce page.on('crash') event (#1782)
Currently, whenever the page crashes, it emits an `'error'` event.
Error event is a special type of event in node.js; if unhandled,
it crashes the process.

Instead of emitting `'error'` event, this patch switches to emitting
`'crash'` event. Playwright users are free to handle the event
however they like, or just to ignore it.
2020-04-15 00:04:35 -07:00
Pavel Feldman da683b2752
feat(selectAll): allow selecting all in the inputs and in the plain dom (#1783) 2020-04-14 17:09:26 -07:00
Pavel Feldman c2fc4035ba
doc(keyboard): document Shift+ArrowLeft notation (#1771) 2020-04-14 13:11:02 -07:00
Lucas Willems bb0b6cd90a
Update api.md (#1773) 2020-04-14 08:38:59 -07:00
Andrey Lushnikov abf1219fc1
docs(api.md): string values should be quoted (#1766) 2020-04-13 18:58:03 -07:00
Dmitry Gozman 9542f47511
feat(selectors): deep selector which pierces open shadow roots (#1738) 2020-04-13 13:04:27 -07:00
Arjun Attam 183840586f
docs(ci): update link to github action (#1742) 2020-04-10 10:24:22 -07:00
Pavel Feldman 78abf5cb40
feat(api): add getAttribute, innerText, innerHTML, textContent (#1717) 2020-04-09 16:49:23 -07:00
Andrey Lushnikov b385ea8415
chore: bump version to v0.13.0-post (#1721) 2020-04-08 17:30:45 -07:00
Andrey Lushnikov 17e645ad34
chore: mark version v0.13.0 (#1720) 2020-04-08 16:53:44 -07:00
Andrey Lushnikov 6723254266
docs: remove stale file (#1719)
We don't support web bundling at the moment.
2020-04-08 15:39:26 -07:00
Andrey Lushnikov d21e2c9b46
docs(api.md): clarify downloads lifetime (#1698) 2020-04-07 17:13:42 -07:00
Tyler Wilcock 222d01caaa
devops(docker): Install ffmpeg dependency, adding codecs necessary for video playback in Firefox (#1627)
Fixes #1613
2020-04-07 16:09:27 -07:00
Pavel Feldman c6f580faf8
chore: migrate from timeouts to deadlines internally (#1695) 2020-04-07 14:35:34 -07:00
Arjun Attam 362b72cf9d
docs(docker): fix tag in docker run command (#1694) 2020-04-07 11:21:42 -07:00
Andrey Lushnikov 4cf5cf6c0e docs(api.md): fix link to download class 2020-04-07 00:27:08 -07:00
Pavel Feldman 3dc14eddaf
fix(colorScheme): make light scheme default on all browsers (#1668) 2020-04-06 19:49:33 -07:00
Dmitry Gozman a91304a37a
feat(selectors): attribute selectors pierce open shadow roots (#1656)
References #1375.
2020-04-03 20:47:08 -07:00
Dmitry Gozman 270206e2b4
feat(text selector): match button input by value (#1657)
Inputs of type button and submit are rendered with their value as text,
so we match them by text.

Fixes #1427.
2020-04-03 14:18:08 -07:00
Dmitry Gozman a9be3c5191
feat(text selector): pierce shadow roots (#1619) 2020-04-02 18:03:30 -07:00
Pavel Feldman 75571e8eb8
feat(downloads): support downloads on cr and wk (#1632) 2020-04-02 17:56:14 -07:00
| |三 \/ | |\| 2ac69670cd
docs(api.md): remove dead link to FAQ section (#1640)
The FAQ section part, where `https://github.com/Microsoft/playwright/#q-why-doesnt-playwright-vxxx-work-with-chromium-vyyy` points to, doesn't exist anymore. This pull request simply removes the dead link.
2020-04-02 10:16:01 -07:00
Arjun Attam 9d04dcc0ce
docs(examples): working with selectors (#1624) 2020-04-01 16:06:07 -07:00
Arjun Attam 1f0b7bff04
docs(api): update ordering for $eval and $$eval (#1623) 2020-04-01 13:09:24 -07:00
Dmitry Gozman a7b61a09be
fix(text selector): by default, do a substring match (#1618) 2020-03-31 23:04:04 -07:00
Joel Einbinder 6053784188
feat: add missing slowMo to launchPersistentContext (#1597)
`slowMo` was missing in `launchPersistentContext`, and I refactored the types a bit.
2020-03-31 16:34:59 -07:00
Arjun Attam 2402aade78
docs(api): elaborate on fill vs type (#1608) 2020-03-31 13:42:07 -07:00
Andrey Lushnikov eabba567bc
docs(api.md): clarify jshandle.getProperties() method (#1594)
Fixes #1592
2020-03-30 16:16:28 -07:00
Max Schmitt d9c064bbab
docs(showcases): fixed dead link to e2e boilerplates (#1591)
Closes #1589
2020-03-30 11:53:15 -07:00
Stuart Lang a007caef5c
Fixed small typos (#1588) 2020-03-30 09:03:13 -07:00
Dmitry Gozman bce8fc1343
feat(selectors): allow running selectors in main world (#1533) 2020-03-25 20:59:48 -07:00
Dmitry Gozman 6ee7852f0f
chore: update release guide and helper script (#1521) 2020-03-25 13:15:29 -07:00
MeiK c7b3744b3b
docs(api.md): fix typo (#1529) 2020-03-24 20:10:58 -07:00
Andrey Lushnikov dc7d221722
chore: bump version to v0.12.1-post (#1516) 2020-03-24 12:08:02 -07:00
Andrey Lushnikov a7ca2fef09
chore: mark version v0.12.1 (#1515) 2020-03-24 11:28:07 -07:00
Dmitry Gozman 1084008f1a
chore: update release guide 2020-03-24 10:53:36 -07:00
Dmitry Gozman a4dca79969
chore: update release guide 2020-03-24 10:50:23 -07:00
Dmitry Gozman ed6e0d5513
chore: bump version to v0.12.0-post (#1512) 2020-03-24 10:46:35 -07:00
Dmitry Gozman 08b94ee67b
chore: mark version v0.12.0 (#1497) 2020-03-24 10:40:02 -07:00
Arjun Attam 8bf83396a0
docs(showcase): updated showcase (#1481) 2020-03-24 09:09:45 -07:00
Andrey Lushnikov b778789ba8
feat: re-make global browser installation (#1506)
This patch removes the `PLAYWRIGHT_GLOBAL_INSTALL=1` variable
and instead introduces a new var - `PLAYWRIGHT_BROWSERS_PATH`.

You can specify `PLAYWRIGHT_BROWSERS_PATH` to affect where playwright
installs browsers and where it looks for browsers.

Fixes #1102
2020-03-24 00:08:00 -07:00
Max Schmitt 5a93872063
docs: add upload keyword to filechooser (#1496) 2020-03-23 19:47:29 -07:00
Dmitry Gozman bfb24e6f55
chore: update releasing guide (#1503) 2020-03-23 18:11:59 -07:00
Joel Einbinder 5bf9f223db
fix(docs): consider argument to be optional in evaluate (#1500) 2020-03-23 17:22:10 -07:00
Dmitry Gozman 05dc89b978
chore: update release guide (#1495) 2020-03-23 14:55:26 -07:00
Dmitry Gozman de0a2d1081
api(waitForLoadState): move waitUntil to be a first parameter (#1490) 2020-03-23 13:51:11 -07:00
Andrey Lushnikov a74e23a257
feat: support PLAYWRIGHT_GLOBAL_INSTALL=1 env variable (#1470)
You can install playwright with

```
PLAYWRIGHT_GLOBAL_INSTALL=1 npm i playwright
```

to make it use a single shared location for all browser
downloads.

Fixes #1102
2020-03-23 12:49:53 -07:00
Dmitry Gozman 15fddb5177
api(click): rename offset to position (#1488)
To allow for features like position: 'center' or similar.
2020-03-23 12:05:08 -07:00
Arjun Attam a570290740
docs(examples): update main readme to point to examples + add a file uploads example (#1484) 2020-03-23 10:39:43 -07:00
Arjun Attam 9e9584441c
docs(troubleshooting): add dependencies for firefox and webkit (#1461) 2020-03-21 17:58:08 -07:00
Arjun Attam 6df17c69e2
docs(examples): setup get started with examples guide (#1441) 2020-03-21 12:05:37 -07:00
Dmitry Gozman 16c7a5bd5c
api(eval): accept zero or one arguments in all evaluation functions (#1431) 2020-03-20 15:08:17 -07:00
Joel Einbinder 825555cddf
types: better types (#1166)
This generates typescript definitions based on the api.md, instead of autogenerating them from the typescript source code.

Now types
 - only include the public api
 - work with older versions of typescript
 - include descriptions
 - are more consistent
 - are more complete

#6
2020-03-20 01:30:35 -07:00
Yury Semikhatsky f1d97b0466
chore(docs): remove remaining mentions of Chromium targets (#1435) 2020-03-19 20:25:31 -07:00
Yury Semikhatsky 535b484637
api(context): get rid of PageEvent (#1433) 2020-03-19 16:25:12 -07:00
Yury Semikhatsky 3ed9970b33
api(chromium): add ChromiumBrowserContext.serviceWorkers() (#1416) 2020-03-19 16:10:24 -07:00
Andrey Lushnikov f5ecbff16e
devops: remake downloading logic (#1419)
This patch:
- removes `browserType.downloadBrowserIfNeeded()` method. The method
  turned out to be ill-behaving and cannot not be used as we'd like to (see #1085)
- adds a `browserType.setExecutablePath` method to set a browser
  exectuable.

With this patch, we take the following approach towards managing browser downloads:
- `playwright-core` doesn't download any browsers. In `playwright-core`, `playwright.chromium.executablePath()` returns `null` (same for firefox and webkit).
- clients of `playwright-core` (e.g. `playwright` and others) download browsers one way or another.
They can then configure `playwright` with executable paths and re-export the `playwright` object to their clients.
- `playwright`, `playwright-firefox`, `playwright-chromium` and `playwright-webkit` download 
browsers. Once browsers are downloaded, their executable paths are saved to a `.downloaded-browsers.json` file. This file is read in `playwright/index.js` to configure browser executable paths and re-export the API.
- special case is `install-from-github.js` that also cleans up old browsers.
2020-03-19 11:43:35 -07:00
Joel Einbinder b0749e3a6d
fix(docs): fixup and lint optionals and return values in api.md (#1376)
Currently in our API `?` means null, but sometimes it means optional. Linting optional/nulls with this patch is required for #1166 to land nicely.

Previously, return types were not being linted in `api.md`. This is fixed, along with many broken return types.

This patch considers `?` to mean nullable, and has some heuristics to determine optionality. I believe this to be the minimal patch needed to unblock #1166. After it lands, we can consider changing the api docs to hopefully remove some heuristics and strangeness.
2020-03-18 16:23:25 -07:00
Joel Einbinder 741e2d19d6
fix(docs): lint and fix all internal links in api.md
We have had a lot of churn in the api, which has caused a lot of our links to break.
2020-03-18 15:34:53 -07:00
Arjun Attam 045277d5cd
docs(chore): fix link in troubleshooting (#1422) 2020-03-18 09:41:52 -07:00
Pavel Feldman 049b336800
api(devices): extract isMobile/hasTouch from viewport (#1415) 2020-03-17 18:21:02 -07:00
Joel Einbinder 39e5eb7eda
feat(devices): remove name from device objects (#1414) 2020-03-17 16:04:42 -07:00
Pavel Feldman e4225adcc0
feat(permissions): make origin optional (#1406) 2020-03-17 15:32:50 -07:00
Pavel Feldman 64b175ce10
api(waitForLoadState): restore it (#1390) 2020-03-16 14:39:44 -07:00
Dmitry Gozman 6731d37546
api(network): replace redirectChain with redirectedFrom/redirectedTo (#1401) 2020-03-16 13:31:06 -07:00
Pavel Feldman e692dd6e62
api(cdp): rename ChromiumSession to CDPSession (#1380) 2020-03-13 16:16:54 -07:00
Dmitry Gozman 69be12ae12
api(route): pass Route object instead of Request to route handlers (#1385)
References #1348.
2020-03-13 14:30:40 -07:00
Dmitry Gozman 9b86c631c8
api: make BrowserContext.pages() synchronous (#1369)
Returns all pages which have been initialized already.

References #1348.
2020-03-13 11:33:33 -07:00
Pavel Feldman 8aba111f1e
api(cdp): rename createSession to newCDPSession (#1378) 2020-03-13 09:00:03 -07:00
Pavel Feldman b1a3b23c38
api(request): make request.response a promise (#1377) 2020-03-13 08:54:19 -07:00
Pavel Feldman 24d4fb1e5c
api(click): remove tripleclick, respect clickCount (#1373) 2020-03-13 08:09:48 -07:00
Pavel Feldman 8c532bd8da
api(press): remove text option (#1372)
#1348
2020-03-12 22:02:19 -07:00
Pavel Feldman e1d3196460
api(*.selectOption): renamed from *.select (#1371) 2020-03-12 21:30:12 -07:00
Pavel Feldman 064099ab3c
api(keyboard.insertText): renamed from sendCharaters (#1370) 2020-03-12 20:56:52 -07:00
Pavel Feldman 9aa56a6b9e
api(browserType): remove devices, errors (#1368) 2020-03-12 17:58:00 -07:00
Pavel Feldman cfd3ae25fb
api(addCookies): setCookies -> addCookies (#1367)
#1348
2020-03-12 17:32:33 -07:00
Dmitry Gozman 3fa4255bc5
api: make request.postData() return null instead of undefined (#1366) 2020-03-12 16:53:04 -07:00
Denis Sikuler 245c1fad5d
fix(docs): a typo in showcase (#1361) 2020-03-12 11:20:29 -07:00
Dmitry Gozman e382bb329b
api: remove 'commit' phase, actions to wait until 'domcontentloaded' by default (#1358) 2020-03-12 11:20:03 -07:00
Pavel Feldman b43f33f4d3
api(review): misc changes to API. (#1356) 2020-03-11 18:10:48 -07:00
Kevin Wang b3f87e8360
docs(api.md): Fix incorrect link to PageEvent (#1353)
Minor typo :)
2020-03-11 17:51:19 -07:00
Dmitry Gozman c1ef683373
api: remove waitForLoadState() in favor of PageEvent.page(options) (#1323) 2020-03-11 14:46:52 -07:00
Andrey Lushnikov 13c2f6571b
docs(selectors): clarify selector conversions 2020-03-11 11:39:44 -07:00
Dmitry Gozman 23cf3be828
api: make request.frame() non-null (#1319) 2020-03-10 11:39:35 -07:00
Dmitry Gozman ea6978a3d8
api(popups): expose BrowserContext.route() (#1295) 2020-03-09 21:02:54 -07:00
Hugo Dias e2a0d61606
docs(showcase): Add playwright-test to showcase (#1283)
This tool runs mocha, tape and benchmark.js scripts inside browsers with playwright.
2020-03-09 18:39:17 -07:00
Dmitry Gozman eb2ca70955
api(route): allow fulfilling with a file path (#1301) 2020-03-09 16:12:00 -07:00
Andrey Lushnikov d1ef0c8694
fix(wk,ff): properly support getting and setting non-session cookies (#1280) 2020-03-07 08:41:57 -08:00
Yohix bfd32fe6d2
doc: fix typos (#1284) 2020-03-07 08:37:47 -08:00
Pavel Feldman 3c35d7b058
api(waitFor): click(waitFor) -> click(force) (#1275) 2020-03-06 16:24:21 -08:00
Pavel Feldman 3fa000f5f4
api(waitForSelector): bring it back (#1272) 2020-03-06 15:02:42 -08:00
Pavel Feldman 119df5a985
feat(nowait): allow waitUntil:nowait for actions (#1264) 2020-03-06 14:32:15 -08:00
Andrey Lushnikov c494944b46
api(popups): move Page.authenticate to BrowserContext.setHTTPCredentials (#1267)
Drive-by: fixes #720 since it rolls past r1037. 

Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2020-03-06 13:50:42 -08:00
Pavel Feldman 49c1161e00
api(press): bump .press to the page/frame level (#1262) 2020-03-06 09:38:08 -08:00
Pavel Feldman 2724157c22
feat(waitUntil): allow waiting for navigation from clicks, etc (#1255) 2020-03-06 08:24:32 -08:00
Dmitry Gozman 1d770af804
api: waitForElement accepts waitFor: attached|detached|visible|hidden (#1244)
This includes rename waitForSelector -> waitForElement and removes $wait.
2020-03-05 17:45:41 -08:00
Yury Semikhatsky 9bc6dcea1d
feat(api): introduce BrowserContext.waitForEvent (#1252) 2020-03-05 17:22:57 -08:00
Dmitry Gozman e5f82af47c
api(popups): emit PageEvent immediately, and resolve page() once initialized (#1229)
This way we do not miss any popups, even immediately closed ones.
2020-03-05 15:18:27 -08:00
Yury Semikhatsky aabdac8380
api: remove Page.setCacheEnabled (#1231) 2020-03-05 10:09:04 -08:00
Dmitry Gozman 7f9df9488e
api(popups): move Page.setOfflineMode -> BrowserContext.setOffline (#1223) 2020-03-04 17:58:12 -08:00
Dmitry Gozman 5ee744cd26
api(page.frame): allow looking up frames by name (#1228) 2020-03-04 17:53:39 -08:00
Pavel Feldman 5ff660de15
feat(navigation): waitForNavigation/goto should not wait until response finished (#1225) 2020-03-04 15:59:26 -08:00
Arjun Attam 56e25c214c
docs: create development dir for non-user related docs (#1217) 2020-03-04 13:05:12 -08:00
Yury Semikhatsky 2d4317dc9a
docs: fix browser.contexts() description (#1220) 2020-03-04 12:05:18 -08:00
Andrey Lushnikov f5a530e17f
docs(showcase): Add headlesstesting.com (#1218)
Add showcase entry for HeadlessTesting.com - run Playwright tests on browsers in the cloud
2020-03-04 11:54:45 -08:00
Joel Einbinder 8aa88d5021
fix(doc): check and update optional types in the api (#1206)
This adds a new check to doclint for whether a member is correctly marked as optional. 
part of #6
2020-03-03 17:29:12 -08:00
Dmitry Gozman f4e9b5079d
api: declare not supporting isMobile on Firefox (#1207) 2020-03-03 17:28:31 -08:00
Dmitry Gozman 6c6cdc033b
api(popup): introduce BrowserContext.exposeFunction (#1176) 2020-03-03 16:46:06 -08:00
Dmitry Gozman 1b863c2300
fix(screenshots): simplify implementation, allow fullPage + clip, add tests (#1194) 2020-03-03 16:09:32 -08:00
Arjun Attam 3eec2d07f5
docs(ci): list sample configurations for ci (#1196)
Has some overlaps with the troubleshooting doc, which I plan to clean up in a subsequent PR. This first version of the doc has a feel of "build-your-own" with our sample configurations. Over time we can tweak the level of hand-holding for the best user experience to get started with CI.

Fixes #1103
2020-03-03 12:21:21 -08:00
Joel Einbinder a3ed3018e8
fix(docs): page.coverage type (#1189)
`page.coverage` was marked as an unhelpful any.
2020-03-02 22:09:06 -08:00
Andrey Lushnikov ec3ee66043 chore(docs): optionally install XVFB in docker 2020-03-02 18:54:13 -08:00
Dmitry Gozman 1186998bd8
fix(click): wait for element to be displayed before scrolling into view (#1182)
Otherwise, we may get an error during scrollIntoViewIfNeeded protocol call.
2020-03-02 14:26:38 -08:00
Henri d'Orgeval db9a2431bf
docs(showcase): rename playwright-controller to playwright-fluent (#1183) 2020-03-02 14:04:27 -08:00
Yury Semikhatsky a57978a5f0
api(chromium): remove Target from public API (#1163) 2020-03-02 13:58:22 -08:00
Andrey Lushnikov 08fbc92752
feat: support PLAYWRIGHT_DOWNLOAD_HOST (#1179)
This patch starts respecting `PLAYWRIGHT_DOWNLOAD_HOST` env variable
in `playwright` package and it's vendored flavors (`playwright-firefox`,
`playwright-chromium` and `playwright-webkit`).

Fixes #1045
2020-03-02 13:45:10 -08:00
Henri d'Orgeval e3ec6b28a9
docs(showcase): add playwright-controller (#1171) 2020-03-01 11:34:08 -08:00
Dmitry Gozman ac2f04f10f
api(selectors): pass selector name when registering, allow file path (#1162) 2020-02-28 15:34:07 -08:00
Dmitry Gozman c4f55bf22c
chore: guide for producing release notes (#1165) 2020-02-28 14:40:50 -08:00
Andrey Lushnikov 1781ae7006
feat: add a playwright-ready docker image (#1161) 2020-02-28 14:40:26 -08:00
Arjun Attam ea11a77ac3
docs(showcase): add new tools to showcase (#1164) 2020-02-28 14:11:22 -08:00
Dmitry Gozman 823bf389a7
api: evaluateOnNewDocument -> addInitScript (#1152)
Also adds more options to specify the script.
2020-02-27 17:42:14 -08:00
Arjun Attam de542c077c
docs(api): unify selector references to include xpath (#1150) 2020-02-27 16:22:19 -08:00
Dmitry Gozman 7682865d73
feat(popups): add BrowserContext.evaluateOnNewDocument (#1136) 2020-02-27 16:18:33 -08:00
Yury Semikhatsky 9d6aa967f3
chore(workers): align worker lifecycle evens with other APIs (#1147) 2020-02-27 14:02:48 -08:00
Dmitry Gozman 672f3f9960
feat(popups): introduce BrowserContext.setDefaultHTTPHeaders (#1116) 2020-02-26 12:42:20 -08:00
aesyondu 72fa945689
Update request.respond to request.fulfill (#1123) 2020-02-26 10:58:37 -08:00
Dmitry Gozman d97ea70804
chore: move more injected code to injected to reduce evaluation size (#1093) 2020-02-25 07:06:20 -08:00
Dmitry Gozman ba29470cc1
fix(api): rename relativePoint to offset, remove unused parameters from input (#1092) 2020-02-24 21:12:02 -08:00
Dmitry Gozman 6acc439450
feat(api): move targets from CRBrowser to CRBrowserContext (#1089)
This makes them work for default context.
2020-02-24 14:35:51 -08:00
Aaron Zemetres 69fe6f7236
docs: added community example project (#1084) 2020-02-24 09:00:53 -08:00
Dmitry Gozman 3677818202
fix(api): browser.serviceWorker -> target.serviceWorker (#1076) 2020-02-24 08:31:58 -08:00
Dmitry Gozman 1f8508d1ed
feat(waitFor): update various waitFor options to be a single boolean (#1066) 2020-02-22 09:16:28 -05:00
Dmitry Gozman 40164298a8
api: remove ElementHandle.visibleRatio (#1069) 2020-02-19 16:08:25 -08:00
Dmitry Gozman 33824aa1d7
feat(click): waitForInteractable option, defaults to true (#934) (#1052) 2020-02-19 09:34:57 -08:00
Pavel Feldman 1ee657823e
feat(viewport): update defaults to 1280x720, fix Firefox (#1038) 2020-02-18 09:16:32 -08:00
Józsi 010c27410a
Docs: fix return type of launchPersistent (#1047)
Docs fix: the return type of `browserType.launchPersistent` is [BrowserContext](https://github.com/microsoft/playwright/blob/master/src/server/browserType.ts#L46), not ` BrowserServer`.
2020-02-17 14:35:11 -08:00
Daniel Imms 8071225d1e
Add xterm.js to showcase (#1034) 2020-02-15 10:07:41 -08:00
Joel Einbinder 8cfdeb99bd
chore: mark v0.11.1-post (#1027) 2020-02-14 19:23:50 -08:00
Joel Einbinder 2037e01b06
chore: mark v0.11.1 (#1025) 2020-02-14 19:13:08 -08:00
Arjun Attam bb8d435c5b
chore(docs): add community showcase (#1018) 2020-02-14 16:54:14 -08:00
Dmitry Gozman dbb45d443a
Revert "feat(click): waitForInteractable option, defaults to true (#934)" (#1013)
Reason: new tests are flaky on all bots.
2020-02-14 13:05:23 -08:00
Dmitry Gozman 9413351d3f
feat(click): waitForInteractable option, defaults to true (#934) 2020-02-14 11:55:34 -08:00
Andrey Lushnikov 39c580a9b1
chore: bump version to 0.11.0-post (#1001) 2020-02-13 19:10:03 -08:00
Andrey Lushnikov f9887e073d
chore: mark version 0.11.0 (#1000) 2020-02-13 18:56:54 -08:00
Pavel Feldman cd4e9da807
feat(coverage): export raw v8 coverage (#976)
Fixes #955
2020-02-13 17:39:14 -08:00
Dmitry Gozman 25022e4685
feat(api): introduce default timeouts on BrowserContext (#992) 2020-02-13 14:18:18 -08:00
Pavel Feldman c15534ff01
fix(locale): document locale parameter (#990) 2020-02-13 13:37:59 -08:00
Andrey Lushnikov aa60a7cebd docs(api.md): fix nit 2020-02-12 16:18:05 -08:00
Andrey Lushnikov 7ce49c2835
chore: remove WebSocket implementation (#961)
WebSocket implementation currently is very incomplete, lacking
support in WebKit-Win and Firefox.
2020-02-12 15:29:06 -08:00
Andrey Lushnikov b0c0598510
fix(api): small-case all api event names (#959) 2020-02-12 14:59:54 -08:00
Pavel Feldman 53237009ad
feat($wait): make $wait a shortcut for waitForSelector (#932) 2020-02-11 14:51:09 -08:00
Pavel Feldman aae5fca237
feat(api): make browser.newPage own the created context (#930) 2020-02-11 12:06:58 -08:00
Andrey Lushnikov ad9d6cc31f
feat: introduce browserType.downloadBrowserIfNeeded() (#834)
Fixes #823
2020-02-11 11:33:48 -08:00
Pavel Feldman 72b9cf010e
feat(context): introduce BrowserContext close event (#918) 2020-02-11 10:27:19 -08:00
Pavel Feldman 84f5700294
feat(api): rename browserContext() to context() in the apis, remove url from newPage (#906) 2020-02-10 10:41:45 -08:00
Dmitry Gozman fee83b17c9
fix(api): page.viewport -> page.viewportSize (#878)
We now only allow to resize the page, leaving isMobile and deviceScaleFactor as browser context options.
2020-02-06 19:02:55 -08:00
Joel Einbinder 06a7d7e3e3
docs(api.md): missing arguments for functions in page.route (#880) 2020-02-06 17:14:37 -08:00