Over Engineered

(Actually good) browser testing w/ Nuno Maduro

· Summarized

Share this episode
Anyone with this link can open it.
Share Link
Start at 0:00

Key takeaways

  • Browser testing in PHP has been historically slow and flaky, but Pest 4 aims to revolutionize it with improved speed and stability through Playwright.
  • The integration of Playwright allows developers to leverage modern testing tools while building browser tests directly in PHP.
  • Pest 4 introduces useful features such as retry mechanisms and a user-friendly API to enhance the testing experience.
  • Community support and collaboration play a crucial role in the development process, encouraging developers to engage and share knowledge.
  • Participating in events like Laracon can open new doors, allowing developers to connect and foster relationships.

Summary

Introduction & Background

In this episode, Chris welcomes Nuno Maduro, a prominent software engineer and creator of Pest, to discuss the complexities of browser testing in PHP, specifically within the context of Laravel. Nuno introduces himself and shares his experience with creating a new testing framework aimed at improving browser testing, which has been a long-standing pain point in PHP development.

The State of Browser Testing Before Pest 4

Before discussing Pest 4, Nuno reflects on the existing state of browser testing in the PHP ecosystem, particularly mentioning Laravel Dusk. He describes his frustrations with Dusk's flaky tests, slow performance, and the cumbersome process of scaling tests, leading him to explore alternative solutions such as Cypress and Playwright.

Migrating to Playwright and Crafting a New Solution

Nuno explains how his exploration of Playwright made him realize its potential to solve many of the issues he faced with browser testing. The conversation covers the technical details behind the idea of building a Playwright SDK for PHP, the challenges faced in creating this bridge, and the reasoning behind various decisions made during development.

Key Features of Pest 4 for Browser Testing

The main attraction of Pest 4 lies in its integration with Playwright, which promises improved performance and stability in browser testing. Nuno dives into how the new framework operates, mentioning the internal retry mechanisms to prevent flaky tests and how it handles parallel testing. He also discusses the API structure, drawing inspiration from his experiences with Dusk and other frameworks.

Testing and Debugging Philosophy

Nuno shares his thoughts on the philosophy behind testing and debugging, emphasizing user experience and the importance of providing clear feedback during the testing process. This section covers how Pest 4 allows developers to run test cases in a more straightforward manner and the tools available for debugging.

Community and Personal Reflections

The episode wraps up with both Chris and Nuno reflecting on the importance of community in software development. They share personal anecdotes about their experiences at Laracon and the positive impact it has had on their careers and personal growth. The conversation encourages listeners to engage more with their communities and support each other in their journeys.

Sponsors

  • Pest · Up until now, browser testing in Laravel has felt… bad. Dusk was a huge step over nothing, but it's been slow and flaky and just waiting to be replaced with something better. And with Pest 4, Nuno's cracked it!
  • Nuno Maduro · Check out Nuno's socials for more updates and content!
  • Playwright · Playwright is used for stable and fast browser testing through Pest 4.

Show notes

Up until now, browser testing in Laravel has felt… bad. Dusk was a huge step over nothing, but it's been slow and flaky and just waiting to be replaced with something better. And with Pest 4, Nuno's cracked it!

In today's episode of Over Engineered with dig into the technical details of what makes browser testing in Pest 4 both very fast and much more stable than Dusk and all the other browser testing approaches that came before it.

Links:

Follow this show on AudioBrevity and new episodes get summarized for you. Create a free account

Couldn't load the audio. A blocker may be stopping the show's tracking links. Open the file