Commit Graph

67 Commits

Author SHA1 Message Date
Joel Einbinder
df8b27069e
chore(jest): convert browser tests to jest (#3000) 2020-07-17 08:22:39 -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
Pavel Feldman
d561465214
devops: use matrix in GHA, add non-linux rpc (#2907) 2020-07-10 13:15:57 -07:00
Pavel Feldman
6209d14f87
chore: misc test fixes (#2888) 2020-07-08 18:42:04 -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
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
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
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
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
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
Pavel Feldman
bab6833232
chore: introduce the experimental rpc implementation (#2720) 2020-06-25 16:05:36 -07:00
Dmitry Gozman
4faa1306b9
test: dump all logs in DEBUGP mode (#2517) 2020-06-09 18:55:57 -07:00
Dmitry Gozman
b77a4b5840
test: increase total timeout when running multiple browsers (#2490) 2020-06-05 17:56:25 -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
82cab094e8
feat(logging): add logging to websocket transport (#2289) 2020-05-18 19:00:38 -07:00
Dmitry Gozman
e8e761f77f
chore: use internal BrowserOptions to unify browsers (#2230) 2020-05-14 13:22:33 -07:00
Pavel Feldman
c5b0baacd1
chore: remove main index.js from playwright-core (#2178) 2020-05-11 09:38:09 -07:00
Pavel Feldman
8e59031078
chore: introduce debugAssert (#2160) 2020-05-08 10:37:54 -07:00
Dmitry Gozman
963dc72dd2
devops: add headful linux bot (#2060) 2020-05-04 15:15:51 -07:00
Andrey Lushnikov
a9f0c40af3
feat(testrunner): improvements to testrunner (#2070)
This patch:
- teaches test runner to understand custom argument spelling, e.g. `--file=evalu` and `-j10`
- fixes `--file` filter to actually focus file paths instead of focusing
all tests with given path
2020-05-01 10:09:45 -07:00
Andrey Lushnikov
2d68830411
feat(testrunner): support --file to filter tests by test file name. (#1903) 2020-04-21 16:47:38 -07:00
Pavel Feldman
5b085fdf03
feat(logger): introduce context-level logger (#1896) 2020-04-20 23:24:53 -07:00
Dmitry Gozman
8ca120f8ab
fix(tests): fix DEBUGP when running in parallel (#1886) 2020-04-20 15:11:15 -07:00
Pavel Feldman
1f43ae692f
feat(logging): introduce logger sink api (#1861) 2020-04-20 07:52:26 -07:00
Andrey Lushnikov
51b8685a8c
feat(testrunner): support --repeat CLI flag to repeat tests (#1828)
This allows you to run `npm run cunit -- --repeat 10` to run
tests multiple times.
2020-04-16 18:09:25 -07:00
Andrey Lushnikov
ea7aadba2b devops: bump total tests timeout to 30 minutes 2020-04-14 16:31:15 -07:00
Dmitry Gozman
277c7d872f
test: close extra browser (#1756) 2020-04-12 15:30:53 -07:00
Dmitry Gozman
bf656ea318
fix(tests): accomodate isplaywrightready (#1746) 2020-04-10 20:31:50 -07:00
Dmitry Gozman
42beb3784f
feat(test): introduce test.config.js (#1725)
This file encapsulate everything specific to playwright testing. Now the general test.js can be reused for other projects.
2020-04-09 18:14:29 -07:00
Dmitry Gozman
2ef8e26602
test: structure tests to use environments, closer to end user (#1713) 2020-04-08 14:17:34 -07:00
Dmitry Gozman
e0c8fbf1a6
test: put test runner api on global, remove unused parameters (#1684) 2020-04-07 08:10:31 -07:00
Dmitry Gozman
f2b13c0e93
chore(testrunner): split TestRunner into parts (#1679) 2020-04-06 17:21:42 -07:00
Dmitry Gozman
14dbf4a20b
chore(tests): meaningful split between test.js and playwright.spec.js (#1630)
CLI handling goes to test.js.
Everything about running tests goes to playwright.spec.js.

This will help isplaywrightready and future jest integration.
2020-04-01 18:02:43 -07:00
Dmitry Gozman
a41836b1f1
chore(testrunner): introduce TestRun (#1582) 2020-03-28 14:25:57 -07:00
Dmitry Gozman
b85ab891a1
chore(testrunner): make most modifiers external (#1581) 2020-03-28 08:49:00 -07:00
Andrey Lushnikov
f2d72b3d95
test: enable flaky worker tests on Firefox (#1548)
Drive-by: remove dead websocket test.
2020-03-25 22:46:27 -07:00
Pavel Feldman
e692dd6e62
api(cdp): rename ChromiumSession to CDPSession (#1380) 2020-03-13 16:16:54 -07:00
Dmitry Gozman
0d7cb29329
test: continue running tests after crash, report crashes separately (#1362) 2020-03-12 17:32:53 -07:00
Andrey Lushnikov
1cd00bd068
feat(testrunner): allow filtering by name and show all focused tests (#1354) 2020-03-11 18:30:43 -07:00
Andrey Lushnikov
92aa4f375a
test: stop sourceServer as well (#1314) 2020-03-10 10:23:17 -07:00
Andrey Lushnikov
adee9a9bd3 test: mark worker.url() API coverage as missing
References #1300
2020-03-09 18:46:39 -07:00
Andrey Lushnikov
071ee06404
chore: normalize NPM scripts (#1285)
This patch:
- makes `npm run cunit/wunit/funit` and `npm run ctest/ftest/wtest` run
browser-specific tests only
- makes `npm run unit` and `npm run test` run *all* browser tests
- runs *all* our infrastructure tests as part of `npm run lint`

As a result, if there's one test to be tested across all three browsers,
you can focus it and do `npm run test`;
2020-03-07 17:09:38 -08:00
Yohix
bfd32fe6d2
doc: fix typos (#1284) 2020-03-07 08:37:47 -08:00
Dmitry Gozman
7f9df9488e
api(popups): move Page.setOfflineMode -> BrowserContext.setOffline (#1223) 2020-03-04 17:58:12 -08:00
Dmitry Gozman
1b863c2300
fix(screenshots): simplify implementation, allow fullPage + clip, add tests (#1194) 2020-03-03 16:09:32 -08:00