Commit Graph

2288 Commits

Author SHA1 Message Date
Pavel Feldman
e467ea57e7
revert: testrunner: make environment a simple class (#2769) (#2790) 2020-07-01 10:56:19 -07:00
Andrey Lushnikov
bd8e0a7b73
feat(webkit): roll webkit to r1295 (#2785) 2020-07-01 09:42:23 -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
Joel Einbinder
cd180474ee
browser(webkit): don't show context menus for headless windows (#2755) 2020-07-01 06:50:08 -07:00
Andrey Lushnikov
6afb38d32f
devops: remove folder creation in github actions (#2779)
This should be no longer required.
2020-06-30 23:34:36 -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
Pavel Feldman
10a9eef832
chore(rpc): add a channel bot (#2773) 2020-06-30 18:51:36 -07:00
Andrey Lushnikov
922cbe6718
chore: roll https-proxy-agent to v5 (#2777)
Co-authored-by: Luke Edwards <luke.edwards05@gmail.com>
2020-06-30 17:03:01 -07:00
Yury Semikhatsky
d6338b0cae
docs(webkit): update core dump analisys instructions (#2778) 2020-06-30 17:00:16 -07:00
Andrey Lushnikov
f00fc0760a chore: fix utils/check_availability.js 2020-06-30 16:54:52 -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
Yury Semikhatsky
c6df8fd507
browser(webkit): abort interception if loader reached termial state (#2776) 2020-06-30 16:47:10 -07:00
Andrey Lushnikov
55a07dbf4d
fix: follow-up with offline comments on implementation of deprecation (#2770)
This moves all extra deprecation messages from vendor implementations
into a single vendor-neutral land.
2020-06-30 11:02:12 -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
Pavel Feldman
3a7d629c61
chore(rpc): pass more network tests (#2762) 2020-06-29 16:37:38 -07:00
Andrey Lushnikov
0963c1979e
chore: deprecate method context.setHTTPCredentials() (#2763)
This will start emitting deprecation warning once
`context.setHTTPCredentials` is called.
2020-06-29 16:37:01 -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
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
28a9f55a49
chore(devops): use official docker image on circleci (#2756) 2020-06-29 11:22:41 -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
4e94bdabfd
chore(rpc): serialize rpc into actual wire string (#2740) 2020-06-27 11:10:07 -07:00
Pavel Feldman
3e33523ee3
chore(rpc): clear the browsercontext test spec (#2739) 2020-06-26 22:38:21 -07:00
Pavel Feldman
db12ddebb3
chore(rpc): clear the page test spec (#2736) 2020-06-26 21:22:03 -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
Pavel Feldman
6393407a6a
chore(rpc): support downloads, dialogs, persistent context (#2733) 2020-06-26 17:24:21 -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
Pavel Feldman
71618a9e2b
chore(rpc): implement input, a11y, console (#2722) 2020-06-25 18:01:18 -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
5d5cf26a0e
fix(logs): streaming logs from InjectedScriptPoll without exception (#2712)
We used to get undefined messages, because we were mistakenly
fulfilling the logs multiple times.
2020-06-25 13:13:10 -07:00
Dmitry Gozman
807dc1f324
fix(crash): improve documentation for crash, reject waitForEvent (#2694) 2020-06-25 09:53:56 -07:00
Pavel Feldman
bc3050776e
chore: prepare library types for rpc (#2706) 2020-06-25 08:30:56 -07:00
Andrey Lushnikov
1865c5685a
testrunner: support globalSetup and globalTeardown hooks. (#2686) 2020-06-24 22:08:46 -07:00
Dmitry Gozman
f111974ad6
chore: prepare parsed selectors to more tasks (#2696)
We currently have dispatchEventTask and waitForSelectorTask.
However, most selector-based operations make sense as tasks, to ensure
atomic execution, e.g. textContent(selector) or focus(selector).
This will fight hydration, elements recycling and other async issues.

In preparation, decouple tasks from selectors parsing so that
we can have common infrastructure for tasks.
2020-06-24 17:03:28 -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
Andrey Lushnikov
8fbd647099
fix(playwright-core): bring back index.js in playwright-core (#2691)
References #2540
2020-06-24 13:54:19 -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
Yury Semikhatsky
924a884102
docs: linux core dump instructions (#2690) 2020-06-24 10:04:11 -07:00
Arjun Attam
4af8c6831e
docs: improve snippets for console logs (#2684) 2020-06-23 19:34:18 -07:00