Software Testing Unleashed - QA, DevEx & Quality Engineering

The Hidden Playwright Advantage Developers Miss - Maciej Kusz


Listen Later

Why Python might be the smarter choice for your Playwright tests

📘 Free e-book: The 7 success factors of software testing. 25 years of project experience in one 33-page workbook, now also in English 👉 Get it for free

"Python by default is a synchronous language. You don't have this await, async and so on stuff that you have on the JavaScript and TypeScript stuff." - Maciej Kusz

In this episode, I talk with Maciej Kusz, program chair of the Testwarez conference in Poland, about why Playwright doesn't have to mean TypeScript. Maciej has been using Playwright with Python for years and shows that Python testers can leverage the framework just as effectively—if they know which PyTest plugins to use and where the documentation actually lives. We dig into the practical trade-offs: what TypeScript does better out of the box, where Python offers more flexibility for QA work beyond the browser, and why stable tests are surprisingly easier to achieve in Python's synchronous world.

With 17 years of experience as a QA and 14 years of test automation (Python and recently TypeScript), Maciej Kusz has been testing UI, API, IoT and has been a test lead and architect, mentor and keynote speaker. He is also a co-creator of the SlonzaczQA meetup and was part of the program committee of ConSelenium/Tada and TestWarez. He is also part of Polish Quality Retreat and shares his knowledge in his blog. After hours he is creating an open-source project called MkDocs Publisher, doing some DIY, and playing with 3D printing.

Highlights:

  • Playwright's Python version uses PyTest as its test runner rather than a built-in runner, which means documentation for test execution lives separately in the PyTest docs, not in the Playwright docs.
  • Visual regression testing, Electron desktop app testing, and web component testing are available in the TypeScript version of Playwright but not supported in the Python version.
  • Python's synchronous-by-default behavior removes the async/await complexity present in TypeScript, making test debugging more straightforward without requiring a dedicated IDE plugin.
  • Playwright gained ground over Selenium primarily because of built-in auto-waits, integrated tooling like CodeGen and Trace Viewer, and automatic browser version management tied to the framework version.
  • ...more
    View all episodesView all episodes
    Download on the App Store

    Software Testing Unleashed - QA, DevEx & Quality EngineeringBy Richard Seidl | Software Development & Testing Expert