Skip to content

playwright 1.3.0

Highlights

  • Python support: Official Playwright for Python is ready for preview!
    • Use the Pytest plugin to write your end-to-end tests in Python.
  • Validate system dependencies: Playwright now automatically checks for browser dependencies on Linux and Windows systems.
  • Ubuntu 20.04: Playwright now provides browser builds for Ubuntu 20.04.

Browser Versions

  • Chromium 86.0.4217.0
  • Mozilla Firefox 78.0b5
  • WebKit 14.0

New APIs

Thank You

Issues Closed (31)

#657 - Cannot choose page to be visible in headful mode #2269 - [Feature] Support ES module syntax #2298 - [Bug] Firefox fails with STATUS_DLL_NOT_FOUND on some Win 10 setups #2358 - [BUG] route.fulfill failed with TimeoutError if the response headers contains newline #2386 - [Question] Run playwright from docker container running express server - sandbox issues #2449 - [BUG] Linux Playwright Webkit engine doesn't allow video.play() #2523 - [Question] download file deleted while copying #2547 - [BUG] unable to launch firefox on virtual box windows #2548 - [BUG] unable to launch webkit on virtual box windows #2588 - [BUG] corrupted post data on application/x-protobuffer (probably other non-string postData formats) #2604 - [Feature] Browser.version() #2621 - [BUG] Webkit problem with libwebp-1.1.0-1, error while loading shared libraries: libwebp.so.6 #2622 - [BUG] page.waitForResponse is not working for Firefox #2624 - [Question] When running two or more browser instance for running test cases, all the test cases fails with in Docker #2626 - [BUG] Webkit font rendering (spacing / icon fonts) #2645 - [BUG]Once test execution is completed, error in closing chromium browser #2663 - [BUG] Getting Error: Protocol error (Target.setAutoAttach): Target closed. #2702 - [BUG] Webkit clears on page.type – Chromium/Firefox don't #2730 - [BUG] - TypeError: Cannot read property 'push' of undefined - When restarting tests #2745 - [Feature] Launch doctor #2787 - How to test mobile devices in Firefox? #2864 - WebGL Renderer on WebKit Browser #2901 - [BUG] Chromium not launching on Windows #2906 - [BUG] Coverage types incorrect #2921 - [BUG] selectOption Bug #2940 - Parallel load #2943 - [BUG] Docs for v1.2.1 are broken #2972 - [Question] how to run playwright script in docker #2975 - [Question] Can releases specifically indicate the MacOS version compatibility #2978 - [Question] Playwright and TypeScript #2979 - [BUG] FF - launchPersistentContext

Commits (287)

d01f63b8 - chore: mark v1.3.0 83539d1a - chore: cut v1.3.0-post (#3309) 49560411 - fix(validation): error typo "unknown" (#3304) 9280037d - chore(test): add blank lines (#3303) b03b4a55 - chore: doc type nits (#3283) 90819fa3 - browser(firefox): always create image buffer in headless mode (#3299) 7e28c26f - browser(firefox): do not complain about SnapshotListener being cleared on Destroy (#3298) 9ec02673 - chore(test): use pathToFileURL (#3292) 3c2fcb7f - feat(webkit): bump to 1322 (#3297) 57490b74 - test: remove describes (6) (#3295) 4cbfa09c - test: remove describes (5) (#3294) 1673e627 - docs: update table of contents for docs sidebar (#3291) 2e65b0af - test: remove describes (4) (#3286) 028dd081 - docs: update documentation for evaluation argument (#3287) 8881a521 - browser(webkit): roll to 8/4 (#3289) 25089760 - devops: fix typo in rustup detection (#3282) d3a40be4 - browser(firefox): reliably close the pipe (#3280) 573f580f - test: remove describes (3) (#3278) de55fa64 - fix(webkit): ensure WebKit can play h264 video (#3272) 402d1a6a - browser(firefox): fix win compile 2 (#3277) bb267356 - test: remove describes (2) (#3276) e481f378 - browser(firefox): fix win compile (#3275) 5c4f0670 - test: remove describes (#3274) 1148f0b9 - browser(firefox): implement RemoteDebuggingPipe (#3273) bad4005d - chore(devops): do not copy pw_run.sh to subfolders (#3271) b52d2597 - feat(webkit): bump to 1321 (#3270) 126b1f79 - feat(rpc): run doclint against rpc client (#3260) f62e9b5d - browser(webkit): kick-off 1321 build to pick up new WebKitLibraries/win (#3263) 776f0192 - fix(chromium): remove Debugger.paused event listener on coverage stop (#3252) 7e8d03b0 - fix(launcher): extend list of known missing DLLs (#3256) 8709ad7b - chore(tools): update PrintDeps license header (#3254) cbd33f96 - devops: avoid running publish on external contrib (#3257) ba9030e6 - docs: update api.md with more references to actionability (#3255) 928a1769 - docs: update docs (#3253) 3edfb2a9 - test: add REPORT_ONLY mode for test collection (#3225) 9b3c90e7 - feat(webkit): bump version to 1320 (#3248) 70b92e17 - docs(README): Point to hosted docs (#3208) 4e5aa3c9 - feat(rpc): support chromiumSandbox option (#3251) ce0ddd27 - feat(download): create directories for saveAs (#3249) 93056ed8 - chore(rpc): more protocol nits (#3246) 421f6f48 - devops: use playwright-github-action@v1 (#3221) cbfdca73 - feat(launcher): check dependencies before launch on Windows (#3240) 21eafbcd - test: unflake screenshot test (#3245) 2f95b6e3 - feat(selectors): auto-detect xpath starting with ".." (#3239) 235c5df8 - docs: add readme file for PrintDepsWindows (#3241) 6297f86c - feat(rpc): run generate-channels during lint (#3238) 9103ce00 - devops: fix firefox build (#3237) e7ddf868 - devops: rename docker image tag for tip-of-tree images (#3222) 08916781 - fix(test): display correct error when golden files mismatch (#3234) 19e8c0fe - chore(deps): bump elliptic from 6.5.2 to 6.5.3 (#3235) 1728a3df - chore: minor protocol fixes (#3226) 88938669 - devops(windows): add tool for printing library dependencies on Windows (#3224) cefb1b97 - feat(rpc): run fixtures.jest.js with channel (#3227) 4961c2dd - devops(firefox): fixate rust and cbindgen version (#3223) e0913252 - fix: a pretty error when browser executable is not found (#3220) ae0c3a6d - docs(devops): update docs for buildbots (#3218) 52eb6c60 - fix(rpc): protocol Route.fulfill (#3200) 3bd97776 - feat(rpc): do not use server types and events in rpc/client (#3219) 7dd9f2c2 - test(iframes): add x-frame-options display test (#3217) 9132d23b - fix(screenshot): wait for stable position before taking element screenshot (#3216) c6180edb - browser(webkit): print missing dll error to the console (#3214) 10225d19 - test: fix a race in the oopif test (#3211) 487bc589 - devops: re-factor list-dependencies script to output per-browser results (#3194) 84a17f27 - fix(rpc): Frame.dblclick is missing notWaitAfter (#3210) 77b1c4b8 - devops: enable Ubuntu 20.04 tests (#3178) f111ad74 - fix: add missing libgles2 package to launch doctor (#3209) 21b1be73 - docs(selectors): fixed selector register example (#3169) 6bc02f8f - feat(launchdoctor): detect missing libraries for dlopen (#3202) a700a7a9 - feat(chromium): roll to 07/29 (#3207) bdfde5cd - fix(firefox): roll firefox for postdata fix (#3196) fab5eba6 - fix(oopifs): translate coordinates to viewport (#3201) 6cb1e037 - feat(rpc): disallow deps into rpc client from outside (#3199) 3e023f6c - Revert "browser(firefox): fix color scheme not updating until reload" (#3198) d27f97ed - devops: include protocol and api.md in NPM package (#3195) 14c68819 - browser(firefox): properly rewrite intercepted request (#3188) a59220b0 - test: prepare fixtures test to run with rpc (#3190) da25a5b5 - browser(firefox): do not capture cursor in screencast (#3118) 576e2c52 - fix(webkit): correctly report outerWidth/Height on Mac (#3133) 101dd3b1 - fix(test): make video test pass on Mac (#3121) 97c10002 - api: introduce Browser.version() (#3177) e406119f - chore: add check_deps script (#3182) 20b7cff9 - fix: update jpeg-js version (#3179) 6fa7547c - fix(launchDoctor): add package mapping for libvpx.so.5 (#3180) 51ce47f3 - docs: use "Node.js" instead of "Node" (#3176) b2179193 - feat(rpc): replace implicit scopes with explicit dispose (#3173) 9b502af4 - fix(launchDoctor): support existing LD_LIBRARY_PATH (#3165) f4e584ea - feat(rpc): align class names with api docs (#3164) d0b758a8 - test: improve autowaiting tests (#3168) 98cc9db8 - chore: simplify doclint (#3162) fd2e65b7 - api: export all browsers from every package (#3128) c8c92c50 - fix(utils): fix check-availability script (#3158) d9890f11 - feat(rpc): make ElectronApplication a scope (#3159) 90ff6671 - browser(webkit): disable high DPI support in Web Process on Windows (#3160) 86b64a23 - feat(launchDoctor): package mappings for Ubuntu 20.04 (#3155) d4b70786 - feat: validate Ubuntu version if launching firefox (#3156) 549a37b9 - browser(firefox): fix color scheme not updating until reload (#3157) 415e94f4 - feat(rpc): server-side validator (#3150) 1455cae9 - test(emulation): add failing test for setting dark theme in firefox (#3149) 0a57c2b3 - support typescript in jest files (#3132) 6a4195fd - fix(require): allow requiring internals (#3153) 3162c06f - browser(webkit): outerWidth/Height on Windows (#3154) e7cca867 - fix(postData): allow overriding binary post data (#3120) bec34db6 - feat(firefox,webkit): roll both Firefox and WebKit (#3145) deccddba - feat(rpc): update BrowserServer (#3112) 0f0e2acf - fix(type): unify selection behavior when typing (#3141) 678d1645 - devops: normalize blob names on the CDN (#3136) 79ab07bd - devops: install Media Pack on Windows bot (#3137) bbe7dbe9 - feat(installer): start downloadinb Ubuntu 20.04 builds (#3126) 0b9c6473 - devops: detect completion status (#3135) ae574b30 - devops: fix webkit build on ubuntu (#3134) 059004b1 - fix(test): don't leave so many zombies on sigint (#3130) 74941340 - browser(webkit): correctly report outerWidth/Height on Mac (#3131) c1032ae4 - devops: simplify building webkit on linux bots (#3127) d234dac7 - chore: support esm imports (#3125) 21581a4e - devops: fix buildbot names cb77d33a - devops: add script for ubuntu 20.04 buildbot (#3123) d2f24e88 - integrate toBeGolden with jest's snapshot system (#3124) e5afd927 - chore(tests): resuse tmp file helpers from utils (#3119) 63689e36 - devops: prepare buildbots to the introduction of Ubuntu 20.04 builder (#3116) 2bed3129 - fix(electron): emit close events in the correct order (#3111) 30e21e0b - test: fix api coverage (#3114) 244ce457 - test: add a test for mouse.dblclick (#3115) c895c972 - browser(webkit): kick-off build for #3100 (#3113) 08b0dc6b - feat(webkit,firefox): bump versions (#3110) 1cfba7f5 - browser(webkit): periodically capture frames on mac regardless of updates 26c57846 - Rebase (#3096) 3d37e458 - browser(firefox): pass actual frame duration to the codec (#3101) b271624f - browser(webkit): hardcode woff enabled on win (#3103) 68c4f79b - feat(rpc): convert protocol to yaml (#3102) b1a5a021 - feat(rpc): client-side parameters validation (#3069) e56e1485 - test(postData): add a failing firefox test (#3098) 65002a0a - feat(rpc): support firefox user prefs (#3093) 80c0711d - feat(firefox): roll firefox to r1137 (#3095) 2a08883e - chore(download): follow up to remove the redundant checks (#3097) baa09569 - Revert "test: screenshot on failure (#3053)" (#3091) d8a17fb0 - api(download): Add saveAs helper (#2872) 4db035df - chore: roll_browser to also update docs (#3088) ea5dfdbe - fix: re-write Chromium startup error with clear instructions (#3070) 1aee8dfc - feat(rpc): align types/guids in the protocol with their pdl definition (#3079) f50f228a - browser(chromium): roll chromium to r790602 (#3082) 773ee08e - chore(test): restore api coverage checks (#3068) 6e75533c - chore: respect jest params in npm run wtest (#3085) 2b0b0a91 - fix(misc): assorted fixes (#3031) ced0bc2d - api: make clear the use of null in page.emulateMedia (#3078) f751ab17 - browser(webkit): write screencast video to .webm instead of .ivf (#3081) c0d9ccfe - docs: update documentation on Chromium sandbox (#3077) f4b7ed55 - fix(chromium): reland support selectAll on macos (#3038) 3c151d8f - fix(test): don't output babel's debug info on the bots (#3073) db4e856a - feat(rpc): use SerializedValue for CDPSession (#3076) 1553f19b - chore: update error messages to match future rpc validator (#3075) 18cb1c01 - feat(rpc): inline selectors.register options in the protocol (#3072) 3dd61629 - feat(rpc): update Response.finished to return string instead of Error (#3071) 47e30f04 - feat: introduce chromiumSandbox launch option (#3067) af20d270 - fix: auto-add --no-sandbox when running Chromium under root (#3064) 2120a236 - docs(readme): add link to system requirements (#3057) 3dead4c8 - feat(rpc): remove last union types from the protocol (#3059) de9570ee - browser(webkit): roll to ToT 07/21/2020 (#3066) babd0cbc - browser(firefox): fix Windows build (#3065) 7f29275a - browser(firefox): use base64 to deliver post data (#3063) 99658c2d - feat(bringToFront): enable on all browsers (#3052) a03f1dd1 - test: screenshot on failure (#3053) a5cb9837 - browser(firefox): write video to .webm instead of .ivf (#3062) 2d59a8f9 - feat(rpc): remove some union types (#3058) 5848ed8f - feat(rpc): introduce protocol.pdl (#3054) 726f636b - browser(firefox): implement Page.bringToFront (#3051) eb14c471 - browser(webkit): do not mask WebGL vendor/renderer info (#3050) 6db89621 - browser(firefox): smooth resize in headless (#3043) 23f506b3 - fix(test): write after end in proxy test (#3039) d1f937d6 - browser(firefox): stop video recording if page closed (#3040) 37740444 - devops: add script to generate shared object => package mapping (#3022) cfe3aa3d - test: add a few tests for null values (#3035) 29504c08 - feat(rpc): make SerializedValue format pdl-friendly (#3007) 79d5991a - doc: Improve unroute documentation (#3026) 6199ba28 - devops: remove travis, appveyor, circle for now (#3029) b5f9985d - devops: make headful a matrix, collect test results (#3027) 13c3f724 - test: restart worker fixtures after test failure (#3021) 562e1e64 - browser(firefox): wait for file write to finish in stopVideoRecording (#3020) c45b5797 - test: support slow marker (#3018) 7d2078ef - devops: bake browsers into Docker image (#2990) 9a2245d3 - devops: show package names instead of missing libs on Ubuntu 18.04 (#3013) ef2a6522 - feat: support atomic browser installation - attempt 2 (#3008) a75835e0 - chore(jest): halve the max workers (#3017) 68ef90d2 - test(click): split into several files (#3016) f2239b5b - test: respect CR/FF/WK/PATH env (#3015) 91e1a25f - feat(rpc): gracefully close browsers in server process on disconnect (#3005) 9d980119 - test: wire test commands to jest (#3014) 8904f401 - chore(jest): defaultbrowsercontext.jest.js (#3003) a8216339 - Revert "fix(chromium): select all on macos should work again (#3006)" (#3011) 096ec4c4 - test: move fixtures to jest (#3010) 24f6d19e - test: move remaining tests to jest (#3009) 9790cf22 - feat(webkit): bump to 1308 (#2991) 631fbce7 - fix(chromium): select all on macos should work again (#3006) 9140063c - fix(accessibility): don't filter everything when the page has a title (#2909) d8bedd85 - chore: explicitly type SerializedArgument, fix rpc dispatchEvent (#2988) 070a2576 - test: move all generic page tests to jest (#3002) 5cf3e4f0 - feat(rpc): switch Env to use an array, split ignoreDefaultArgs (#2984) df8b2706 - chore(jest): convert browser tests to jest (#3000) 1c0504ae - test: respect fixtures in describe, match image snapshots (#2989) fe95ee00 - test: group browserType.launchServer tests (#2944) 16e3776a - fix(JSCoverageEntry): added scriptId and isBlockCoverage (#2955) 424f11d1 - test: convert some tests to the jest+fixtures (#2983) 1896e8ed - browser(webkit): send Playwright.pageProxyDestroyed for crashed tabs when deleting context (#2986) 89ccf99b - browser(firefox): screencast for Mac headful (#2985) 056f0e29 - feat(rpc): ensure that error stack traces point to the user code (#2961) b890569a - feat(rpc): move leftover extraHTTPHeaders to HeadersArray (#2980) 439e048a - feat(rpc): migrate DeviceDescriptors payload to an array (#2981) 4c8ba3ed - chore: remove cli (#2976) 513899a3 - test: add a test for arbitrary options (#2977) ecc130c6 - test: convert evaluation.spec to jest+fixtures (#2968) 7080767f - devops: move CircleCI to run against dev version of Docker container (#2969) a802b4a6 - feat(ff,wk): bump revisions (#2967) 198ecee8 - api(exposeBinding): allow handles in the binding result (#2970) aa4c893b - feat(rpc): implement waitForNavigation on the client (#2949) 824f6491 - devops(docker): fix docker for chromium (#2966) 177873e3 - chore(deps): bump lodash from 4.17.15 to 4.17.19 (#2964) d750ba38 - fix(docker): add missing dependencies to docker image (#2963) b7f7ba92 - browser(firefox): screencast support for Windows headful (#2965) 19cd96c4 - test: add the jest-circus experimental runner (#2962) 0b921814 - feat: validate browser dependencies before launching on Linux (#2960) c51ea0af - feat(rpc): remove PageAttribution from the protocol, attribute on the client side (#2957) 7f617157 - feat(rpc): use headers array in the protocol (#2959) 31893036 - browser(webkit): close crashed pages on exit (#2958) 0aff9bef - browser(firefox): screencast for headless mac (#2956) 4a00e5c4 - test: remove flaky test for binding on error pages (#2952) 2d5c0328 - feat(rpc): return objects for every protocol command (#2950) 46a625dc - feat(firefox): bump to 1127 (#2951) 1b84ec90 - fix(binding): dispatch binding after the page has been initialized (#2938) 89ca2db3 - browser(firefox): kick off new build after last commit (#2948) de403291 - browser(firefox): add new files for headless screencast (#2947) bf6f22d8 - browser(firefox): basic screencast for headless (#2931) d5bd4599 - chore(rpc): remove some paths from the channel (#2934) cc8fe5a7 - feat(rpc): support electron (#2933) 9fdb3e23 - feat(rpc): support selectors (#2936) 6c75cbe5 - docs: fix link to github workflow in releasing doc a06ba1c7 - devops: add utility to count compressed docker image size (#2920) d58a57c4 - devops: fix docker publishing (#2939) b7d68d1c - devops: automate Docker image publishing (#2937) 65d45c18 - feat(rpc): introduce Waiter for various waitFor implementations (#2935) b2d820a1 - docs(emulation): separate section for dark mode (#2915) 9fd30e58 - feat(rpc): ensure feature-detection works as before (#2898) 21517576 - feat(rpc): run rpc tests in-process and out-of-process (#2929) 0346c3a1 - chore: update release notes draft gen (#2932) 6d94c920 - feat(rpc): support no-serialization mode, run hook tests (#2925) 66744584 - feat(rpc): log api calls into LoggerSink (#2904) c63b706a - fix(events): avoid firing events after close/detach (#2919) fc686141 - feat(rpc): merge DispatcherScope and Dispatcher (#2918) ebb4c332 - test: mark 2 chromium not important win tests as failed (#2914) 982e5e35 - devops: collect artifacts from browser locations (#2913) 21807bcd - feat(webkit): roll WebKit to r1306 (#2899) a403d4be - fix(firefox): fix launching firefox without dependencies (#2900) 1cebf875 - chore(docker): skip "recommended" dependencies (#2917) bce4b1ae - chore(docker): trim some of the gstreamer dependencies (#2897) 631f76df - chore(rpc): remove union types from page and handles (#2912) b6fd4dc5 - feat(rpc): merge ChannelOwner and ConnectionScope (#2911) 54f9a0dd - test: update headfull chromium expectations after a recent roll (#2908) d5614652 - devops: use matrix in GHA, add non-linux rpc (#2907) c89c30e3 - fix(popup): do not report frameless pages (#2910) c21b6373 - feat(webkit): bump to 1305 (#2893) a91ec9a1 - feat(rpc): pass more tests (#2896) 70394093 - test: skip devtools test with USES_HOOKS (#2895) cb8b1bca - browser(webkit): Reduce binary size of WebKit Linux build bundles (GTK and WPE) (#2880) e90ba262 - fix(context): fire close event for persistent contexts (#2891) 8fe29feb - feat(rpc): support more chromium-specific apis (#2883) b3ca4afd - chore: misc test fixes (#2857) 6209d14f - chore: misc test fixes (#2888) c3ac0371 - test: add test to validate user-agent sanity (#2887) b93e0994 - browser(webkit, firefox): bump versions (#2866) 458aaa50 - feat(chromium): roll Chromium to r786218 (#2879) 71713c95 - fix(webkit): Fix default User-Agent (#2886) f5911de9 - browser(webkit): release GTK app only if it has been referenced (#2885) 83bba08c - browser(webkit): fix touch events on mac after last roll (#2884) 040c6a6a - chore(jest): run tests with jest (#2754) 6a1bd3ae - docs: add debugging docs page (#2865) 8611ee8d - chore(testrunner): typescript test files (#2751) e97badcc - docs(CONTRIBUTING.md): Add build step (#2869) 760283ea - testrunner: fix default environment name (#2870) 0c80c227 - feat(rpc): plumb CDPSession (#2862) 2a86ead0 - chore: replace FrameTask with internal events on Frame (#2856) 35cb20d5 - test: unflake recorder tests (#2808) baaa6549 - browser(firefox): resize window when changing viewport (#2861) 64f57216 - browser(webkit): roll to 07-07-2020 (#2863) 6ed8b5fc - chore(eslint): lint for copyrights on files (#2858) de7969f0 - docs(api/input): fix typo (#2837) 9640dbf2 - browser(firefox): exclude browser controls from screencast (#2855) 39144dd5 - feat(webkit): bump to 1302 (#2852) 0380400d - chore: refactor waiting for lifecycle events (#2851) db3439d4 - chore: introduce DocumentInfo (#2765)