Commit Graph

1006 Commits

Author SHA1 Message Date
Dmitry Gozman
c51ea0afd1
feat(rpc): remove PageAttribution from the protocol, attribute on the client side (#2957)
This also changes timeout error format to
"page.click: Timeout 5000ms exceeded", so that all errors
can be similarly prefixed with api name.

We can now have different api names in different clients,
and our protocol is more reasonable.
2020-07-15 14:04:39 -07:00
Dmitry Gozman
4a00e5c4ea
test: remove flaky test for binding on error pages (#2952)
I wasn't able to make it consistently pass...
2020-07-14 21:20:14 -07:00
Dmitry Gozman
2d5c0328cd
feat(rpc): return objects for every protocol command (#2950)
For future extensibility, returning objects with fields instead
of plain strings or channels.
2020-07-14 18:26:50 -07:00
Dmitry Gozman
1b84ec9023
fix(binding): dispatch binding after the page has been initialized (#2938)
... but not after it was closed.
2020-07-14 13:34:49 -07:00
Pavel Feldman
d5bd459986
chore(rpc): remove some paths from the channel (#2934) 2020-07-14 10:51:37 -07:00
Dmitry Gozman
cc8fe5a763
feat(rpc): support electron (#2933) 2020-07-13 21:46:59 -07:00
Dmitry Gozman
9fdb3e23c3
feat(rpc): support selectors (#2936) 2020-07-13 17:47:15 -07:00
Dmitry Gozman
65d45c18c3
feat(rpc): introduce Waiter for various waitFor implementations (#2935)
Use it for waitForEvent and waitForLoadState.
2020-07-13 16:03:24 -07:00
Dmitry Gozman
9fd30e58e2
feat(rpc): ensure feature-detection works as before (#2898)
For this, some tests are migrated from skip() to feature detection,
like our users would do.
2020-07-13 15:26:09 -07:00
Dmitry Gozman
2151757621
feat(rpc): run rpc tests in-process and out-of-process (#2929) 2020-07-13 15:00:20 -07:00
Dmitry Gozman
6d94c92053
feat(rpc): support no-serialization mode, run hook tests (#2925)
Added rpc_json_linux bots to excercise serialization - these
do not run hook tests.
2020-07-13 08:31:20 -07:00
Dmitry Gozman
6674458496
feat(rpc): log api calls into LoggerSink (#2904) 2020-07-10 18:00:10 -07:00
Dmitry Gozman
fc6861410b
feat(rpc): merge DispatcherScope and Dispatcher (#2918) 2020-07-10 16:24:11 -07:00
Pavel Feldman
ebb4c3320f
test: mark 2 chromium not important win tests as failed (#2914) 2020-07-10 16:15:12 -07:00
Andrey Lushnikov
a403d4beff
fix(firefox): fix launching firefox without dependencies (#2900)
We always have to reject promises with some error. Otherwise,
our error-rewriting logic in try-catch miserably fails.

With this patch, attempt to launch Firefox when it's missing
dependencies will actually result in a thrown exception with
pretty logs. Without this patch, Playwright throws internal error.
2020-07-10 16:04:19 -07:00
Pavel Feldman
631f76df75
chore(rpc): remove union types from page and handles (#2912) 2020-07-10 15:39:11 -07:00
Dmitry Gozman
b6fd4dc56c
feat(rpc): merge ChannelOwner and ConnectionScope (#2911) 2020-07-10 15:11:47 -07:00
Dmitry Gozman
54f9a0dd7b
test: update headfull chromium expectations after a recent roll (#2908) 2020-07-10 14:26:49 -07:00
Pavel Feldman
d561465214
devops: use matrix in GHA, add non-linux rpc (#2907) 2020-07-10 13:15:57 -07:00
Pavel Feldman
c89c30e333
fix(popup): do not report frameless pages (#2910) 2020-07-10 13:15:39 -07:00
Dmitry Gozman
a91ec9a15d
feat(rpc): pass more tests (#2896)
Includes coverage, tracing and misc close() tests.
2020-07-09 15:33:01 -07:00
Dmitry Gozman
7039409397
test: skip devtools test with USES_HOOKS (#2895) 2020-07-09 13:45:28 -07:00
Joel Einbinder
e90ba26250
fix(context): fire close event for persistent contexts (#2891) 2020-07-09 08:34:07 -07:00
Dmitry Gozman
8fe29feb21
feat(rpc): support more chromium-specific apis (#2883)
This includes page CDPSession, backgroundPages() and serviceWorkers().

This has also revealed an issue with closing order between the context
and the service worker.
2020-07-08 21:36:03 -07:00
Pavel Feldman
b3ca4afd40
chore: misc test fixes (#2857) 2020-07-08 18:42:31 -07:00
Pavel Feldman
6209d14f87
chore: misc test fixes (#2888) 2020-07-08 18:42:04 -07:00
Andrey Lushnikov
c3ac0371e6
test: add test to validate user-agent sanity (#2887) 2020-07-08 17:45:45 -07:00
Andrey Lushnikov
458aaa508f
feat(chromium): roll Chromium to r786218 (#2879)
This roll includes:
- https://crrev.com/786119 - mac: close context menu when destroying RenderViewContextMenuMacCocoa

Fixes #2700
2020-07-08 17:09:42 -07:00
Joel Einbinder
040c6a6a41
chore(jest): run tests with jest (#2754)
Experimentally run `npx jest` to run our tests with jest.
2020-07-08 11:13:18 -07:00
Joel Einbinder
8611ee8df7
chore(testrunner): typescript test files (#2751)
This lets our spec files be .ts instead of just .js. The typescript files will be checked against the public types. Tests are compiled with babel just in time before running them, emulating the jest experience. TypeScript tests are also linted with eslint.

I converted keyboard.spec.js as the first demo. I'll follow up converting some more more tests.
2020-07-08 00:20:36 -07:00
Dmitry Gozman
0c80c22716
feat(rpc): plumb CDPSession (#2862) 2020-07-07 18:47:00 -07:00
Dmitry Gozman
2a86ead0ac
chore: replace FrameTask with internal events on Frame (#2856)
We now use a few helper.waitForEvent calls to wait for internal
events kNavigationEvent and kLifecycleEvent. With these events,
we should be able to replicate logic over rpc.
2020-07-07 15:22:05 -07:00
Dmitry Gozman
35cb20d5ad
test: unflake recorder tests (#2808)
We ensure that recorder is installed in the main frame before running the test.
2020-07-07 14:11:59 -07:00
Dmitry Gozman
ac2185a9d9
test: update http credentials tests (#2806) 2020-07-06 11:28:07 -07:00
Andrey Lushnikov
7f60c4df62
feat(webkit): roll webkit to r1301 (#2827)
References #2700
2020-07-02 18:51:03 -07:00
Andrey Lushnikov
05b019f1ba
reland: testrunner: make environment a simple class (#2812)
This re-lands PR https://github.com/microsoft/playwright/pull/2769

It was reverted before in https://github.com/microsoft/playwright/pull/2790
because it was breaking the new CHANNEL bot.
2020-07-02 11:05:38 -07:00
Yury Semikhatsky
6329cbbbf8
chore: remove dead code from test (#2819) 2020-07-02 10:42:46 -07:00
Andrey Lushnikov
756d537324
feat(webkit): roll WebKit to r1298 (#2813) 2020-07-02 09:50:16 -07:00
Joel Einbinder
cb0c037e17
test(chromium): enable selectall test on mac (#2788) 2020-07-02 01:57:30 -07:00
Andrey Lushnikov
f9f3aeb0fe
test: add failing test for context menus that prevent browser close (#2811)
References #2700
2020-07-02 00:45:02 -07:00
Dmitry Gozman
19abc9bd9f
fix(dialogs): let click timeout, log information about dialogs (#2781)
We should not stall selector actions because of dialogs
and properly timeout instead. For this, we should not await
the handle.dispose() call because it will never happen
while dialog is shown.

Also, log information about dialogs to make it easier to debug.
2020-07-01 22:10:37 -07:00
Dmitry Gozman
0d16b16e91
fix(firefox): unskip worker error test (#2805) 2020-07-01 22:07:53 -07:00
Dmitry Gozman
e12e2451e4
test: disable flaky test on chromium mac (#2807) 2020-07-01 22:01:44 -07:00
Dmitry Gozman
9d6eaadba7
fix(navigation): ensure that goBack/goForward work with file urls (#2792) 2020-07-01 19:17:27 -07:00
Pavel Feldman
d484e04a08
test(route): add another route test (#2800) 2020-07-01 18:31:08 -07:00
Dmitry Gozman
e8e45e8450
feat(dom): migrate innerText, innerHTML and getAttribute to tasks (#2782)
This ensures synchronous access to avoid element recycling.
2020-07-01 16:10:53 -07:00
Pavel Feldman
c25fc4956d
chore(rpc): scope client-side handles (#2796) 2020-07-01 13:55:29 -07:00
Pavel Feldman
e467ea57e7
revert: testrunner: make environment a simple class (#2769) (#2790) 2020-07-01 10:56:19 -07:00
Joel Einbinder
e480ec3f59
feat(chromium): roll to r782078 (#2714)
Highlights:
- [Remove support for (prefers-color-scheme: no-preference).
](ed6b36f0b4)
- [DevTools: Add commands option to Input.dispatchKeyEvent
](3d3ee67f69)

#1067
2020-07-01 07:26:08 -07:00
Pavel Feldman
95538e73e7
chore(rpc): move classes around, fix tests, respect dispatcher scopes (#2784) 2020-06-30 22:21:17 -07:00
Pavel Feldman
87516cb3a3
chore(rpc): make dispatcher creation and lookup explicit (#2783) 2020-06-30 21:30:39 -07:00
Andrey Lushnikov
1605cb453c
testrunner: make environment a simple class (#2769)
This patch:
- makes environment a simple class with optional methods `beforeEach`, `afterEach`, `beforeAll`, `afterAll`, `globalSetup` and `globalTeardown`
- removes capability to have multiple hooks of the same name inside suite
- removes default environment for test. (`dit` now adds a `TraceTestEnvironment` to the test)
- extracts all environments that we use in our tests in `//test/environments.js`

Downsides:
- we no longer know hook locations for the environments. This, however, should not be a big deal since stack traces (if any) will still point into it.
- this also regresses hook locations for suites for simplicity. We can get them back, but it shouldn't be pressing since we now have only one hook of each kind in every suite.
2020-06-30 16:51:03 -07:00
Pavel Feldman
e29f7b9f58
chore(rpc): support workers, file chooser, browser server (#2766) 2020-06-30 10:55:11 -07:00
Pavel Feldman
5bb018e0e5
chore(rpc): attribute calles to page, ignore USES_HOOKS (#2764) 2020-06-29 18:58:09 -07:00
Dmitry Gozman
38236b4f29
fix(close): ensure close() can be called twice (#2744)
... without any exceptions.
2020-06-29 16:26:32 -07:00
Dmitry Gozman
1fa9d30992
fix(evaluate): awaitPromise when Promise is overwritten (#2759)
Firefox and WebKit require native promises to provide awaitPromise
functionality. When the Promise is overwritten, all evaluations
in the main world produce wrong Promise, so we wrap with async
function to get a native promise instead.
2020-06-29 16:25:52 -07:00
Dmitry Gozman
18f9b4a219
test: add failing test for navigation corner cases (#2746) 2020-06-29 10:39:03 -07:00
Pavel Feldman
e920fde9f7
chore(rpc): bootstrap demo for rpc (#2741) 2020-06-27 11:32:27 -07:00
Pavel Feldman
db12ddebb3
chore(rpc): clear the page test spec (#2736) 2020-06-26 21:22:03 -07:00
Dmitry Gozman
b54303a386
fix(textContent): make page.textContent(selector) atomic (#2717)
We now query selector and take textContent synchronously. This
avoids any issues with async processing: node being recycled,
detached, etc.

More methods will follow with the same atomic pattern.

Drive-by: fixed selector engine names being sometimes case-sensitive
and sometimes not.
2020-06-26 16:32:42 -07:00
Dmitry Gozman
43f70ab978
test: add more failing tests with react recycle (#2731) 2020-06-26 16:31:51 -07:00
Pavel Feldman
02f7501725
chore(rpc): strongly-type the initializer, remove __init__ phase (#2729) 2020-06-26 12:28:27 -07:00
Pavel Feldman
18d6140d3e
chore(rpc): support routes and bindings (#2725) 2020-06-26 11:51:47 -07:00
Dmitry Gozman
064a0a1154
fix(webkit): do not swallow errors when returning by value (#2723)
We currently return undefined whenever we had an error trying
return the evaluation result by error. The most common error
is "execution context destroyed".

This produces very unexpected undefined from methods that do not
ever expect undefined. Instead, we should throw because we were
not able to return the result.
2020-06-26 09:50:57 -07:00
Dmitry Gozman
ab6a6c9b82
chore: run most actions through page._runAbortableTask (#2721)
This introduces a single place for future snapshots.
2020-06-25 16:57:21 -07:00
Pavel Feldman
bab6833232
chore: introduce the experimental rpc implementation (#2720) 2020-06-25 16:05:36 -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
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
Joel Einbinder
9000ccb3b2
fix(click): don't timeout when innerWidth is modified (#2669)
We were evaluating `innerWidth` in the main context, where it could be modified.
2020-06-22 14:03:31 -07:00
Pavel Feldman
eac7dab8b7
fix(cors): allow intercepting cors requests on chromium (#2643) 2020-06-19 17:14:32 -07:00
Yury Semikhatsky
2251f9bedb
feat(webkit): bump to 1290 (#2652) 2020-06-19 16:35:14 -07:00
Dmitry Gozman
53f7f4e4e7
test: add redirect+extraHTTPHeaders test (#2637) 2020-06-18 18:06:10 -07:00
Dmitry Gozman
d0336ea5c2
fix(network): disallow intercepting redirects (#2617)
WebKit and Firefox are only able to continue redirects.
Firefox is faking it on the backend, so you can't even stall it.

Instead, we just do not fire routes for redirects on all browsers,
to avoid surprises.
2020-06-18 17:15:47 -07:00
Joel Einbinder
b88fabab13
test: add another test for browserContext.addInitScript (#2285) 2020-06-18 12:27:48 -07:00
Dmitry Gozman
971bd88922
fix(chromium): do not bring page to front before screenshot (#2614) 2020-06-18 10:52:08 -07:00
Dmitry Gozman
f581e84829
fix(css selector): handle missing spaces between [] and > (#2612) 2020-06-17 23:20:12 -07:00
Pavel Feldman
cc84506cbb
feat(electron): add a test for clipboard access (#2606) 2020-06-17 14:16:17 -07:00
Dmitry Gozman
4834e5653d
fix(firefox): bump firefox and fix network with service worker (#2610) 2020-06-17 14:13:56 -07:00
Dmitry Gozman
f9633ea9b7
fix(scrollIntoView): ensure similar behavior across browsers, handle errors (#2599) 2020-06-17 10:48:07 -07:00
Pavel Feldman
c220fc7f46
chore(logs): rework logs for simplicity (#2592) 2020-06-16 17:11:19 -07:00
Pavel Feldman
59d0f8728d
test(recorder): add recorder sanity tests (#2582) 2020-06-16 10:15:08 -07:00
Dmitry Gozman
98544381b2
test: disable flaky cookie test on Chromium Win (#2562) 2020-06-12 15:03:30 -07:00
Dmitry Gozman
d4c466868b
chore: explicitly plumb various errors through the retries (#2554)
We are about to have more errors, so explicit plumbing helps with visibility.
2020-06-12 14:59:26 -07:00
Dmitry Gozman
39019e8863
test: unflake interception test (#2558) 2020-06-12 12:13:17 -07:00
Dmitry Gozman
c4e8720eb5
feat(debug): generate preview for ElementHandle (#2549)
This is a best-effort debugging feature - we try to generate preview asynchronously,
so it might not be available immediately.
2020-06-12 11:10:18 -07:00
Dmitry Gozman
defeeb9cee
test: await all promises in upload test (#2557)
Otherwise, we get unhandled promise rejection sometimes.
2020-06-12 10:39:33 -07:00
Dmitry Gozman
1bf9e65ef5
fix(log): include log name in progress recording (#2550) 2020-06-12 09:48:56 -07:00
Pavel Feldman
894826dec0
chore: form the debug script for authoring hints / helpers (#2551) 2020-06-11 18:18:33 -07:00
Dmitry Gozman
7ddf66418a
test: add a failing test with React rerender (#2545) 2020-06-11 15:19:35 -07:00
Dmitry Gozman
5e97acde0c
fix(oopif): make Page.addInitScript and Page.exposeBinding work for oopifs (#2542) 2020-06-11 11:41:36 -07:00
Dmitry Gozman
c99f0d1f98
feat(debug): more logs while waiting for stable, enabled, etc. (#2531) 2020-06-10 18:45:18 -07:00
Darío Kondratiuk
e3f34f6ae2
fix(selectOption): allow passing null to unselect all (#2405) 2020-06-10 09:37:29 -07:00
Dmitry Gozman
4d069dda0f
feat: avoid side effects after progress aborts (#2518)
Actions like click, focus or polling now avoid doing any work
with side-effects after their progress has been aborted.
2020-06-09 18:57:11 -07:00
Dmitry Gozman
4faa1306b9
test: dump all logs in DEBUGP mode (#2517) 2020-06-09 18:55:57 -07:00
Dmitry Gozman
80705ff5e9
chore: simplify logging a bit (#2512)
This merges a few classes and stops inheriting from InnerLogger.
2020-06-09 16:11:17 -07:00
Dmitry Gozman
8c6c571f22
test: add iframe screenshot tests (#2495) 2020-06-09 12:59:49 -07:00
Pavel Feldman
9aa9d6bc1d
feat(downloads): accept downloads in persistent, allow specifying the downloadsPath (#2503) 2020-06-08 21:45:35 -07:00
Dmitry Gozman
55cfff38c6
fix(waitForFunction): handle predicate that throws (#2488)
Currently, we fail when the predicate throws on the first call,
and timeout when it fails on any other call.

There are two possible ways to handle throwing predicates:
- Fail waitForFunction if predicate throws once. This is good
  since it gives you the error faster.
- Tolerate predicate exceptions. This is good because you do
  not have to worry about non-initialized state during load.

This change implements the former.
2020-06-08 16:29:29 -07:00
Dmitry Gozman
5c3a275270
feat(debug): improve api logs (#2481) 2020-06-06 20:59:06 -07:00
Dmitry Gozman
b77a4b5840
test: increase total timeout when running multiple browsers (#2490) 2020-06-05 17:56:25 -07:00
Yury Semikhatsky
54f07f9bd6
test(capabilities): test that video tag can play video (#2477) 2020-06-05 17:39:24 -07:00
Joel Einbinder
28e0ce1bb1
feat(webkit): roll to 1269 (#2486) 2020-06-05 16:22:30 -07:00
Pavel Feldman
fb058ffe0d
feat(proxy): allow specifying proxy (#2485) 2020-06-05 13:50:15 -07:00
Dmitry Gozman
1d37a10558
chore: migrate navigations to Progress (#2463) 2020-06-04 16:43:48 -07:00
Dmitry Gozman
58e2ffc991
test: add more tests for text selectors in shadow dom (#2473) 2020-06-04 15:58:43 -07:00
Dmitry Gozman
d5c992e1db
chore: unify evaluations across browsers even more (#2459)
This moves all the logic around UtilityScript to javascript.ts.
Also uncovers a bug in WebKit where we cannot returnByValue after navigation.
2020-06-03 17:50:16 -07:00
Dmitry Gozman
1accb5141d
chore: convert more actions to Progress (#2444) 2020-06-03 11:23:24 -07:00
Dmitry Gozman
f188b0a174
chore: migrate most actions to Progress (#2439) 2020-06-03 09:14:53 -07:00
Dmitry Gozman
a644f0a881
feat(fill): wait for the element to be enabled/writable/visible (#2435) 2020-06-01 18:56:49 -07:00
Dmitry Gozman
bf67245de6
feat(debug): stream logs from waitForSelector (#2434)
- we can now stream logs from InjectedScriptProgress to Progress;
- waitForSelector task uses it to report intermediate elements.
2020-06-01 15:48:23 -07:00
Dmitry Gozman
454411062b
fix(oopif): race between detachedFromTarget and frameAttached (#2419)
During remote -> local transition, these two events come in unpredictable order, so we try to handle both cases. Also, remote frame detach was not handled at all.
2020-06-01 13:47:02 -07:00
Dmitry Gozman
de0bbd3031
chore: remove page pause support (#2431) 2020-06-01 11:14:16 -07:00
Andrey Lushnikov
e5875310db
fix(webkit): report event source (#2430)
This rolls webkit to r1250 where we report event source.

Fixes #2189
2020-06-01 10:12:46 -07:00
Dmitry Gozman
b7df4d57a4
chore: migrate wait tasks to Progress (#2422) 2020-06-01 08:54:18 -07:00
Pavel Feldman
c001facffc
feat(firefox): allow passing user prefs at launch time (#2417) 2020-05-31 09:28:57 -07:00
Dmitry Gozman
acf059fe00
fix(click): wait for button, input and select to be enabled before clicking (#2414) 2020-05-30 13:29:46 -07:00
Dmitry Gozman
8e4a1e7c67
fix(text selector): do not match text inside <head> (#2413)
We already skip <script> and <style> tags because they are not
the page content. Similar reasoning applies to <head> that has
content that is never rendered on the page.
2020-05-29 15:28:27 -07:00
Dmitry Gozman
d980ed7e7e
chore: introduce Progress concept (#2350)
A progress roughly corresponds to an api call. It is used:

- to collect logs related to the call;
- to handle timeout;
- to provide "cancellation token" behavior so that cancelable process can either
  early-exit with progress.throwIfCanceled() or race against it with progress.race();
- to ensure resources are disposed in the case of a failure
  with progress.cleanupWhenCanceled();
- (possibly) to log api calls if needed;
- (in the future) to augment async stacks.
2020-05-29 14:39:34 -07:00
Dmitry Gozman
4bd9b30376
test: add a test for clicking a label with pointer-events: none (#2412) 2020-05-29 13:46:57 -07:00
Pavel Feldman
5277fb9479
test: fix the CSP capability test (#2394) 2020-05-28 18:29:15 -07:00
Dmitry Gozman
fdbd4fe197
fix(selectors): fix selector parsing for css attributes and quotes (#2389)
- css attribute selector may contain spaces;
- >> escaping inside strings was sometimes incorrect.

See added test cases for more details.
2020-05-28 14:49:39 -07:00
Andrey Lushnikov
7981e4e3da
fix: support event source type in firefox (#2390)
References #2189
2020-05-28 14:38:47 -07:00
Andrey Lushnikov
3f97a9fb69
test: add failing test for event source (#2382)
References #2189
2020-05-27 22:52:34 -07:00
Dmitry Gozman
46508c6b87
test: try to unflake one more cookie test (#2381) 2020-05-27 22:17:42 -07:00
Andrey Lushnikov
0753c2d54b
test: hack in output directory cleanup for parallel runs (#2378) 2020-05-27 22:03:38 -07:00
Dmitry Gozman
4413138cc6
fix(fill): allow to clear number input (#2376) 2020-05-27 20:01:08 -07:00
Dmitry Gozman
11d53ad529
test: disable flaky CSP test on Firefox (#2374) 2020-05-27 19:59:49 -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
Pavel Feldman
e168fddac8
fix(evaluate): consistently serialize json values (#2377) 2020-05-27 17:19:05 -07:00
Dmitry Gozman
609bc4cfb0
chore: add stack trace utilities and tests (#2371) 2020-05-27 14:26:44 -07:00
Andrey Lushnikov
37ec3a6ae6
fix(types): properly export typescript types from packages (#2364)
Drive-by: move package tests from `//test/installation-tests` to
`//packages/installation-tests`

Fix #2349
2020-05-26 17:19:05 -07:00
Pavel Feldman
415b11487d
feat(webkit): roll webkit to r1242 (#2361) 2020-05-26 14:48:21 -07:00
Dmitry Gozman
d532cd5d9f
test: fix cookie tests on WebKit (#2359)
WebKit does not allow third party cookies.
2020-05-26 10:22:53 -07:00
Andrey Lushnikov
43eed027bd
chore: rename root index-for-dev.js into index.js (#2337) 2020-05-23 00:03:57 -07:00
Dmitry Gozman
79ec3c916e
test: unflake more cookie tests (#2346) 2020-05-22 17:20:42 -07:00
Dmitry Gozman
aac5bf24ec
fix(popups): do not override popup size from window features (#2139)
We usually force window size from the browser context. However,
popups that have window features insist on a specific window size,
so we respect that.
2020-05-22 15:56:37 -07:00
Dmitry Gozman
e2972ad5ba
feat(click): retry when the element it outside of the viewport (#2330)
The element might get animated into the viewport.
2020-05-22 11:15:57 -07:00
Pavel Feldman
5ee6494032
feat(evaluate): return user-readable error from evaluate (#2329) 2020-05-21 16:00:55 -07:00
Dmitry Gozman
0a8fa6e46c
test: unflake more cookies tests (#2333)
This is addressing a possible race between setting document.cookie and
cookies appearing in out-of-process cookie jar.
2020-05-21 15:37:52 -07:00
Dmitry Gozman
aae3f1e75d
feat(default context): support selected options for default context (#2177) 2020-05-21 15:13:16 -07:00
Dmitry Gozman
2f993018ea
test: disable flaky test on win firefox (#2332) 2020-05-21 15:06:19 -07:00
Andrey Lushnikov
505d94ab1a
chore: drop dependency on playwright-core in all our packages (#2318)
This patch:
- drops dependency on playwright-core in all our packages. Instead of
  the dependency, packages are now built with `//packages/build_package.sh`
  script.
- unifies `browsers.json` - now there's a single `//browsers.json` file
  that is used to manage browser revisions.

This patch temporary switches canary publishing to `--dryn-run` from CI/CD so that we
can verify that it does sane things.

We'll unify all our package management scripts under `//packages/` in a
follow-up.

Fixes #2268
2020-05-21 13:18:15 -07:00
Joel Einbinder
b1c15e4539
test: add failing PageDown test (#2326)
Co-authored-by: Joel Einbinder <joel.einbinde@gmail.com>
2020-05-21 07:37:27 -07:00
Pavel Feldman
aa0d844c76
chore: introduce utility script for evaluate helpers (#2306) 2020-05-20 15:55:33 -07:00
Dmitry Gozman
48440f7ed7
test: unflake fixtures test (#2313)
Drive-by: ensure we call onkill before manually exiting the process.
2020-05-20 14:58:27 -07:00
Dmitry Gozman
b17a73c184
test: try to unflake cookie test (#2310)
Happens on WebKit sometimes. There is probably a race between setting a cookie
and saving it in the cookie jar in another process.
2020-05-20 14:54:21 -07:00
Pavel Feldman
e558f0516b
chore: print the launch error message to console (#2304) 2020-05-20 00:10:10 -07:00