Playwright v0.13.0 Release Notes

Release Date: 2020-04-09 // about 4 years ago
  • Current Status

    • βœ… Chromium 83.0.4101.0. Tests: 983 passing, 7 failing.
    • βœ… Webkit 13.0.4. Tests: 916 passing, 6 failing.
    • βœ… Firefox 75.0b8. Tests: 908 passing, 13 failing.

    Detailed status can be found at IsPlaywrightReady?

    Highlights

    πŸ†• New API

    πŸ› Bug Fixes

    #1316 - Allow custom selector engines to run in the main world
    #1427 - [Feature] text= selector to match
    ⚠ #1440 - [Feature] Warning, instead of error, on devtools: true
    #1442 - [BUG] Fill throws "Element is not visible" despite waiting for visibility
    #1510 - [BUG] extract-zip fails npm audit
    #1518 - [BUG] establish a bot to validate install flow
    #1535 - [BUG][0.12.1] Unable to install on mac10.13
    #1553 - [BUG] OOPIFs cannot read property 'xxx' of undefined for iframes in non-headless mode
    ⚑️ #1589 - [Question] Could you please update the link to e2e Boilerplates ?
    #1592 - [Question] $eval vs getProperties
    πŸ“š #1613 - [BUG] Documentation regarding video playback in Playwright
    πŸ’» #1651 - [BUG] PLAYWRIGHT_BROWSERS_PATH throws error on subsequent installs
    #1674 - [Feature] Overload waitForEvent to return specific type

    Raw Notes

    17e645a - chore: mark version v0.13.0 (#1720)
    3a1ffea - fix(types): add types for waitForEvent (#1715)
    ⚑️ 2fd7f4e - devops: fix update_version.js script
    βœ… 2d57fff - fix(tests): fix multiple browsers tests (#1718)
    🚚 6723254 - docs: remove stale file (#1719)
    d5a746a - chore(ci): use playwright github action (#1712)
    🚚 ade9d23 - test: remove module.export.describe wrapper (#1716)
    βœ… 2ef8e26 - test: structure tests to use environments, closer to end user (#1713)
    βœ… be06bb0 - test: mark headful test as slow (#1710)
    πŸ’» 22a7636 - browser(webkit): always open local Web Inspector on "Inspect element" (#1711)
    0️⃣ 4d4e856 - browser(webkit): open inspector undocked by default (#1706)
    5b4d32d - fix(chromium): fix a race in persistent context launch (#1702)
    ⚑️ 685f14d - feat(firefox): update to 1075 (#1705)
    πŸ’» aff2ffa - browser(firefox): manage network activity per page (#1700)
    βœ… 20ff327 - feat(testrunner): catch delegate errors (#1704)
    🚚 0ff2e6a - test: move api coverage to a spec file (#1703)
    βœ… af01d15 - test: slim down test utils (#1701)
    πŸ“„ d21e2c9 - docs(api.md): clarify downloads lifetime (#1698)
    βœ… 118333a - test: fix event coverage on Chromium (#1693)
    🐳 222d01c - devops(docker): Install ffmpeg dependency, adding codecs necessary for video playback in Firefox (#1627)
    βœ… 39e06f0 - feat(testrunner): improve reporting of unhandled errors/rejections (#1697)
    πŸ‘ a7ae205 - feat(firefox): support downloads (#1689)
    949dc7b - chore: bump extract-zip dependency (#1696)
    c6f580f - chore: migrate from timeouts to deadlines internally (#1695)
    🐳 362b72c - docs(docker): fix tag in docker run command (#1694)
    e683c08 - fix(fill): make fill work with date/time inputs (#1676)
    🚚 e0c8fbf - test: put test runner api on global, remove unused parameters (#1684)
    e15fc08 - chore: migrate node types to 10.17.17 (#1690)
    πŸ’» becf97f - browser(firefox): report navigation request failure for downloads (#1688)
    πŸ“„ 4cf5cf6 - docs(api.md): fix link to download class
    πŸ’» 7b2736b - browser(firefox): support downloads (#1683)
    889cf8f - fix(input): climb dom for pointer-events:none targets (#1666)
    0️⃣ 3dc14ed - fix(colorScheme): make light scheme default on all browsers (#1668)
    βœ… cd39053 - feat(testrunner): make it easier to setup golden matcher (#1682)
    βœ… e519a3d - fix(testrunner): better capture Location for hooks (#1680)
    βœ… f2b13c0 - chore(testrunner): split TestRunner into parts (#1679)
    πŸ‘ aeeac55 - feat(chromium): support oopifs (#1664)
    56fbfc2 - fix(firefox): do not make stray network requests (#1673)
    πŸ’» 11ad172 - browser(firefox): allow setting colorScheme on the context level (#1672)
    5673fd7 - feat(firefox): bump to 1071 (#1670)
    2eba79b - fix: permissions in mobile and geolocation example (#1667)
    πŸ’» 65ca87c - fix: fix PLAYWRIGHT_BROWSERS_PATH treatment (#1662)
    17039f1 - fix(webkit): fix non-mac screenshots w/ dsf (#1665)
    a91304a - feat(selectors): attribute selectors pierce open shadow roots (#1656)
    e9428b6 - devops: fixate diff algorithm to not rely on dev settings (#1663)
    πŸ’» 3c01bf6 - browser(webkit): account for non-Mac device scale factor (#1661)
    πŸ’» b7d0c32 - fix(browser): wait for the pipe to disconnect in browser.close (#1652)
    βœ… b89df07 - test: add device scale factor screenshot tests (#1660)
    βœ… 823f961 - feat(testrunner): migrate from events to a delegate (#1647)
    ⚑️ f216ab9 - chore(chromium): small improvement with updating touch (#1659)
    🏁 fc73d54 - browser(firefox): instrument all browser windows early enough (#1645)
    270206e - feat(text selector): match button input by value (#1657)
    f8ecdff - fix: typo in input.ts (#1653)
    bebce8f - feat(webkit): bump version to 1187 (#1646)
    🚚 1f2803b - feat(testrunner): removeEnvironment (#1650)
    πŸ‘• ea16e55 - fix(lint): import errors (#1649)
    a9be3c5 - feat(text selector): pierce shadow roots (#1619)
    πŸ‘ 75571e8 - feat(downloads): support downloads on cr and wk (#1632)
    πŸ’» 3d6d9db - fix: wait for the process to close when closing the browser (#1629)
    πŸ’» b1580a3 - browser(webkit): roll to r259389 (#1643)
    βœ… d38baae - feat(testrunner): nested environments (#1635)
    🏁 f3f10ae - browser(webkit): support downloads on windows (#1642)
    πŸ“¦ 692f4db - devops(ci): added job for testing package installations (#1572)
    ⬆️ a1f22aa - chore: upgrade typescript to 3.8.3 (#1641)
    🚚 2ac6967 - docs(api.md): remove dead link to FAQ section (#1640)
    πŸ‘ 7c2ddc2 - feat(firefox): support timezone override (#1578)
    🐧 e76f8de - browser(firefox): reland "instrument all windows, support silent mode" with Linux fix (#1634)
    βœ… c345cfe - test: disable one flaky test on Chromium (#1633)
    βœ… 14dbf4a - chore(tests): meaningful split between test.js and playwright.spec.js (#1630)
    πŸ“„ 9d04dcc - docs(examples): working with selectors (#1624)
    🚚 e241c1b - chore: remove web mode (#1625)
    πŸ’» cf49a9e - browser(firefox): make timezone override work on Win (#1628)
    ⚑️ 1f0b7bf - docs(api): update ordering for $eval and $$eval (#1623)
    c218d8c - fix(firefox): isolate ignoreHTTPSErrors setting between contexts (#1617)
    ⚑️ c2617c0 - Update README.md
    βœ… f87e645 - feat(testrunner): introduce environments (#1593)
    0️⃣ a7b61a0 - fix(text selector): by default, do a substring match (#1618)
    πŸ’» 1da2141 - browser(firefox): delete Browser.setIgnoreHTTPSErrors (#1616)
    πŸ’» 4ac98da - browser(firefox): set ignoreHTTPSErrors per context (#1614)
    🏁 2ce85f9 - Revert "browser(firefox): instrument all windows, support silent mode… (#1615)
    6053784 - feat: add missing slowMo to launchPersistentContext (#1597)
    a853690 - fix(types): don't export derived types (#1598)
    πŸ”¨ 9e85f8d - chore(waitForEvent): refactor waitForEvent into a single implementation (#1602)
    🏁 314eb40 - browser(firefox): instrument all windows, support silent mode (#1612)
    βœ… 34610f2 - chore(tests): use public types for the tests (#1600)
    πŸ“„ 2402aad - docs(api): elaborate on fill vs type (#1608)
    dd4fe90 - feat(webkit): roll WebKit to r1185 (#1611)
    ⚑️ d0073ef - chore(firefox): update cheatsheet with logging instructions (#1609)
    307b33a - feat(chromium): roll to r754895 (#1610)
    92c5ab3 - fix(types): correctly infer type in $eval and $$eval (#1603)
    08aebc7 - fix(types): add types for waitForEvent (#1601)
    βœ… 13a6c89 - fix(test): actually test if page.waitFor accepts arguments (#1599)
    πŸ’» a2e1d4c - browser(webkit): implement support for downloads (#1596)
    950d427 - fix: catch websocket error events (#1595)
    πŸ“„ eabba56 - docs(api.md): clarify jshandle.getProperties() method (#1594)
    πŸ’» 43b91e6 - browser(firefox): implelemt timezone overrides (#1577)
    d130479 - feat(webkit): roll webkit to 1184 (#1570)
    πŸ”¨ fdc3612 - browser(firefox): refactor targets/contexts/dispatching (#1590)
    βœ… 1f08b72 - test: add web socket leak test coverage (#1586)
    🍎 31f186c - fix(browserFetcher): support macos 10.13 for firefox and chromium (#1549)
    πŸ›  d9c064b - docs(showcases): fixed dead link to e2e boilerplates (#1591)
    ✏️ a007cae - Fixed small typos (#1588)
    βœ… b6166c9 - chore(testrunner): introduce Location class (#1585)
    🚚 c49b856 - chore(testrunner): remove setup() helper (#1584)
    βœ… a41836b - chore(testrunner): introduce TestRun (#1582)
    🌐 5499b18 - feat(websocket): wrap firefox web socket too (#1580)
    βœ… b85ab89 - chore(testrunner): make most modifiers external (#1581)
    βœ… 4bd46ba - feat(testurnner): allow multiple hooks isntances and per-test hooks (#1571)
    6503c83 - fix(install): speculative fix for generateChromiumProtocol (#1583)
    βœ… f72b6b4 - test: try to unflake fixtures tests (#1574)
    βœ… b4a2014 - test: add failing FF test around ignore https (#1576)
    πŸ— 6903496 - fix(build): generate protocol in chromium (#1579)
    🚚 a042466 - chore(testrunner): remove effectiveMode and effectiveExpectation (#1569)
    🌐 48516ed - feat(websocket): use proxy web socket on chromium (#1573)
    4e89939 - chore: do not try/catch buffer.concat (#1575)
    πŸ’» e796bfd - browser(webkit): do not apply platform filters to accessibility snapshot (#1528)
    🚚 00cb4e3 - chore: move transport to object messages (#1567)
    πŸ”€ af7a16c - chore(testrunner): merge test spec with test, suite spec with suite (#1566)
    72ae3a9 - feat(firefox): emulate device size (#1565)
    πŸ’» 3535a82 - browser(firefox): emulate device size (#1561)
    πŸ”§ f503672 - test(firefox): enable configurable args test (#1564)
    βœ… 59fa2cb - test(firefox): enable locale tests (#1562)
    πŸ’» 4826b3a - browser(firefox): make locale override apply to Number/Date formatting (#1560)
    🚚 b473d9d - chore(firefox): remove FFPage._initialize to ensure early initialization (#1554)
    βœ… f420cbb - test: fix race in 'should respect routes from browser context' test (#1559)
    πŸ”§ 9d0f465 - browser(firefox): make call argument properties configurable (#1558)
    βœ… aad82e0 - chore(testrunner): decouple UserCallback from location and timeout (#1557)
    5d03be7 - feat(webkit): roll WebKit to r258828 (#1517) (#1556)
    8f8b75c - devops(webkit): force JHBUILD on GTK/WPE for now (#1555)
    πŸ’» b24262b - feat(browser): roll Firefox to r1059 (#1551)
    πŸ’» b1c156f - browser(firefox): fix user gesture in evaluation (#1550)
    βœ… f2d72b3 - test: enable flaky worker tests on Firefox (#1548)
    βœ… 81bd8de - feat(testrunner): composable and bindable attributes and modifiers (#1547)
    c468e92 - chore: speedup npm install from a github checkout (#1545)
    βœ… ece43ae - test: mark 100mb evaluate test as slow (#1546)
    bce8fc1 - feat(selectors): allow running selectors in main world (#1533)
    βœ… 89e123b - test(firefox): enable CSP tests that use new Function() (#1542)
    πŸ‘· 09cbf33 - browser(firefox): wait for script to be evaluated in Worker (#1543)
    βͺ 7e75cef - devops: restore publishing @next version (#1540)
    πŸ’» 2203e9c - browser(firefox): bypass CSP when calling functions from debugger (#1541)
    βœ… b611984 - feat(testrunner): modifiers and attributes (#1538)
    c01ad84 - fix(fill): use isVisible to be consistent with waitForSelector (#1539)
    🚚 60942d0 - chore(selectors): move selectors logic to selectors.ts (#1536)
    πŸš€ 1e007b2 - devops: temporary disable @next deployment on travis
    πŸš€ 6ee7852 - chore: update release guide and helper script (#1521)
    ef9e04d - fix(permissions): fix notifications permissions on firefox (#1531)
    πŸ’» 6be3634 - browser(firefox): fix permissions check and notifications name (#1530)
    βœ… 2d5b701 - test(firefox): fix should close browser with beforeunload page (#1532)
    πŸ’» aba670d - browser(firefox): roll Firefox (#1534)
    5bde0b5 - feat(auth): fix firefox auth flake (#1525)
    πŸ’» 8af21d1 - browser(firefox): fix authentication (#1524)
    πŸ’» 1f48efe - browser(firefox): ignore beforeunload handlers in Browser.close() (#1526)
    πŸ“„ c7b3744 - docs(api.md): fix typo (#1529)
    ⚠ 4b1fa2f - feat: show warning on ff & wk if devtools was given (#1463)
    βœ… a2ee7a1 - fix(testrunner): do not spam output after termination (#1511)
    ⚑️ 3e8a6ac - devops: update docs regarding bubblewrap on linux
    βͺ 7943e00 - Revert "feat(webkit): roll WebKit to r258828 (#1517)" (#1522)
    πŸ’» 231c878 - devops: support browser aliases in export.sh and prepare_checkout.sh (#1520)
    e14efd5 - feat(webkit): roll WebKit to r258828 (#1517)
    dc7d221 - chore: bump version to v0.12.1-post (#1516)