Commit Graph

55 Commits

Author SHA1 Message Date
Dmitry Gozman
2ec9e6daa2
test: cleanup some test files (#1195) 2020-03-03 15:02:06 -08:00
Pavel
ba06fb2f0d test: mark some tests as skipped 2020-03-02 14:57:54 -08:00
Andrey Lushnikov
05a1e1c641
test: remove newContext and newPage test helpers (#1070)
All tests should clean up their contexts themselves.
2020-02-20 15:15:48 -08:00
Andrey Lushnikov
4be48a6b1b chore: disable DEBUGP on bots 2020-02-19 14:07:36 -08:00
Pavel Feldman
4d7e531520
fix(webkit): wait for the pipe ready on windows (#997) 2020-02-13 17:46:40 -08:00
Joel Einbinder
d790b4c280
fix(test): default DEBUGP to false (#989) 2020-02-13 13:18:19 -08:00
Pavel Feldman
53fa62910a
fix(chromium): emit focus events in headful (#982)
Fixes #979
2020-02-13 11:29:13 -08:00
Joel Einbinder
d367a2ed3a
chore(tests): log protocol messages when a test fails on the bots (#963)
Similarly to how we handle stdio, this captures all protocol messages and logs them when a test fails. Great for when debugging tests in parallel or for bot failures!

Currently I made `DEBUGP=true` turn this on locally, and turned it on always for the CI. Open to 
suggestions for a better environment variable. I would turn it on by default always, like the stdio logging, but it adds an enormous amount of noise to our error messages.
2020-02-12 22:35:06 -08:00
Dmitry Gozman
da30847c83
feat(firefox): apply emulation to all pages in the browser context (#931) 2020-02-11 18:52:01 -08:00
Joel Einbinder
6105d8a26a
fix(tests): fix test that was leaking a context (#933) 2020-02-11 14:15:30 -08:00
Joel Einbinder
c03e8b7946
chore(tests): add types for tests (#915)
I enabled vscode autocomplete in our test files. Typechecking had too many errors to enable, but it caught some real bugs that I will fix in a follow up.

This patch contains:
* `test/types.d.ts` - d.ts file for our test runner.
* `test/tsconfig.json` - typescript project for our tests.
* JSDoc header in all specs to mark the describe as a TestSuite
* Drive-by fix of a launcher test that was using `if` instead of `it`
* Some drive-by fixes of unimpactful typos in tests.
2020-02-10 13:20:13 -08:00
Pavel Feldman
a547aa7984
feat(connect): allow multiple webkit connections over web socket (#863) 2020-02-06 12:41:43 -08:00
Pavel Feldman
a2ab645e63
feat(launch): introduce client, server & persistent launch modes (2) (#840) 2020-02-05 12:41:55 -08:00
Pavel Feldman
0518625dcc
feat(launch): introduce client, server & persistent launch modes (1) (#838) 2020-02-04 19:41:38 -08:00
Pavel Feldman
2bf88fd178
test: start adding capability smoke tests (#784) 2020-01-31 08:57:47 -08:00
Pavel Feldman
5cb19c6265
test: extract common headful tests (#785) 2020-01-31 08:54:11 -08:00
Dmitry Gozman
2bef4aea03
feat(api): introduce selectors.register method (#701) 2020-01-28 11:20:34 -08:00
Dmitry Gozman
2b44d75eb6 test: move most launcher tests to common (#621) 2020-01-24 11:12:57 -08:00
Dmitry Gozman
056fbbd53e
fix(api): make pipe connection the default, expose webSocket launch option (#562) 2020-01-23 17:45:31 -08:00
Dmitry Gozman
c1cca19e90
test: extract tests for webkit provisional page (#609) 2020-01-23 15:32:56 -08:00
Dmitry Gozman
ac2ba3cbd9
fix(api): BrowserServer -> BrowserApp, resuse it between browsers (#599) 2020-01-23 14:40:37 -08:00
Dmitry Gozman
fa2f321fdd
fix(api): remove BrowserServer.connect (#574) 2020-01-23 08:51:43 -08:00
Dmitry Gozman
b388722777
chore: update top-level api (#479)
```
require('playwright').chromium.launch(...)
window.playwrightweb.chromium.connect(...)
```
2020-01-13 17:36:46 -08:00
Yury Semikhatsky
778ab3deff chore: replace CHROME with CHROMIUM (#465) 2020-01-13 10:13:28 -08:00
Dmitry Gozman
c77fd5e6cb
feat(pw-web): generate playwright/web.js which can be used in the browser (#455) 2020-01-10 16:03:10 -08:00
Pavel Feldman
f75ac45c42
feat(workers): support workers in webkit (#400) 2020-01-07 12:59:01 -08:00
Dmitry Gozman
310d4b193b test: check that we inherit options from BrowserContext to the Page (#367) 2020-01-03 11:17:14 -08:00
Joel Einbinder
790e38a678 feat(webkit): accessibility (#350)
* move accessibility out of features

* feat(webkit): accessibility
2020-01-03 11:15:43 -08:00
Pavel Feldman
2d14d1ec1f feat(geo): enable geolocation overrides on WK (#361) 2020-01-03 10:14:50 -08:00
Pavel Feldman
654fa22cc7 feat(webkit): enable request interception (#343) 2019-12-30 23:05:28 +01:00
Yury Semikhatsky
6b60b510b3 test: make fixture tests pass in all browsers (#321) 2019-12-20 14:10:13 -08:00
Andrey Lushnikov
a7f3490e48 feat(testrunner): implement "dit" command (#312) 2019-12-19 16:47:35 -07:00
Pavel Feldman
331f0e603a feat: introduce BrowserServer (#308) 2019-12-19 14:51:49 -08:00
Pavel Feldman
d570fc7809
feat: further strip the browser api (#304) 2019-12-18 18:07:11 -08:00
Andrey Lushnikov
8cc682c7b8 feat(testrunner): allow focusing all tests in a file
With this change, exporting a "fdescribe" function from a file
will focus all tests inside the file.
2019-12-18 17:13:39 -08:00
Yury Semikhatsky
adf54ee6b3
tests: move ws-specific browser tests to corrsponding browser suites (#289) 2019-12-18 13:28:23 -07:00
Pavel Feldman
6d0dfd0abf
feat(context): start moving overrides to the context level 2019-12-18 12:23:33 -08:00
Andrey Lushnikov
f56726759b
test: normalize browser executable path variables (#287) 2019-12-17 18:07:01 -08:00
Pavel Feldman
a9568af21d
feat: create FF default profile prefs dynamically (#250) 2019-12-14 11:55:21 -08:00
Pavel Feldman
c7cf4886ea api: s/createIncognitoBrowserContext/newContext/ 2019-12-12 20:14:50 -08:00
Dmitry Gozman
d378a8d3fc chore: reuse processLauncher between browsers (#231)
Drive-by: improve test runner to always exit and kill browsers
2019-12-12 17:52:13 -08:00
Pavel Feldman
fe6addc71a test: rearrange launcher tests more 2019-12-10 14:02:48 -08:00
Pavel Feldman
f37d9bfe95 test: extract chromium-specific connect tests 2019-12-10 13:28:50 -08:00
Andrey Lushnikov
329b34e894
feat: implement mac keyboard (#197)
This list contains all of the default keyboard shortcuts for macos, and the Objective-C selector that they trigger on the [NSStandardKeyBindingResponding](https://developer.apple.com/documentation/appkit/nsstandardkeybindingresponding/3005237-moveleft?language=objc). We need these for basic keyboard functionality like ArrowUp and ArrowDown to work on WebKit for mac. For other browsers on mac, the same list can be used to enable better mac keyboard emulation.

The list was made by constructing NSEvents on a mac and seeing what selectors they triggered on an NSTextView. The conversion from NSEvents to DOM codes was done partially by hand as the code that does this conversion lives across many files in WebKit. There may be some errors or missing commands, but in general this should be a more faithful mac keyboard emulation than what we do in Chromium currently.

Notably absent from the list are Cut, Copy, Paste, Paste Special, Undo, and Redo. They are handled in a slightly different way.
2019-12-10 13:22:01 -08:00
Pavel Feldman
c61c5b056f test: group interception tests in interception.spec 2019-12-10 13:11:20 -08:00
Pavel Feldman
51c975b098 chore: group more feature test files 2019-12-08 09:04:07 -08:00
Pavel
5274f2bd3c chore: only test request interception for Chrome & FF 2019-12-06 17:37:45 -08:00
Pavel
0884e29695 chore: rearrange test spec files 2019-12-06 16:15:47 -08:00
Pavel Feldman
e1c4eaae28
chore: make targets chromium feature (#137) 2019-12-04 16:12:43 -08:00
Pavel Feldman
e869b12f46 chore: remove touchscreen API (#41) 2019-11-20 16:55:02 -08:00