Cod (r)evolution is here


Filip Hric

18th March 2025

Code (r)evolution is here

Hello Reader,
We’re living through a massive shift in how code is written. AI is no longer just a sidekick—it’s building entire features in minutes. Supabase is becoming the go-to AI-friendly database, and vibe coding is turning into a movement (controversial or not).

That’s why Jonathan and I are going live this Wednesday to break it all down. We’ll talk about what’s happening, where AI is leading us, and what this means for developers and testers alike. Don’t miss it—this one’s going to be fun!


Blogposts, discussions, events

I Built an auto-healing tool for Playwright tests

I built an MCP server that runs Playwright tests and analyzes why they fail. It aims to get a better understanding of a test’s context, collected from Playwright’s trace.

​Watch the video →​

What have you built with AI?

I asked on LinkedIn, and people shared some interesting projects, including:

âš¡ Test automation ROI calculators

âš¡ AI-powered scrapers

âš¡ Price trackers

​Follow the discussion →​

WebDriver BiDi: Did my predictions come true?

A while back, I made some predictions about WebDriver BiDi. Looking back I’m surprised how much more traction it’s getting. Cypress has plans to implement it a lot more than I initially guessed.

​Check out the video →​


Test automation tip

When doing API testing, there are many things we might want to test. For example, in this test, we're making sure that the name returns unaltered from the server. But what about the other keys? We need to take a look at the response and take a look at the response body. This is not really a problem, but it may become one when we are dealing with hundreds of tests.

And this is where TypeScript becomes incredibly useful. We can create an interface that will define the board body response. What we can do is we can tell the request function to expect board to be a return type. When we now start typing expect function, the board body will start auto-completing types from our board.

 1  interface Board {
 2    name: string
 3    user: number
 4    starred: boolean
 5    created: string
 6    id: number
 7  }
 1  cy.request<Board>('/api/boards').then(board => {
 2    expect(board.body.name).to.eq('new board')
 3  })

Meme of the week


Filip Hric

Teaching testers about development, and developers about testing

filip@filiphric.sk, Senec, Slovakia 90301
​Unsubscribe · Preferences​

Filip Hric

Sign up for weekly tips on testing, development, and everything related. Unsubscribe anytime you feel like you had enough 😊

Read more from Filip Hric

Filip Hric 13th May 2025 TO BE OR NOT TO BE (TECHNICAL) Hey Reader!There’s an ongoing debate in the QA world on whether it makes sense to get technical or not. I remember having a fairly heated debate on this last November at Agile Testing Days in Potsdam. My talk titled "Test like a developer, develop like a tester" argued that we should put the effort as testers to become experts in the software we test. And yes, that includes having a fair bit of developer knowledge. Jason Arbon called...

Filip Hric 23rd April 2025 AN APP CAN BE A HOME-COOKED MEAL He Reader,Today I’d love to share with you one of the best blogposts I’ve ever read. It warmed my heart and inspired me greatly. The blogpost is called "An app can be a home-cooked meal". Give it a read. It taps into something that’s really close to my heart - using your talents to make a world a better place - starting with your family. While you can be a world-renowned chef, it will always feel different when you cook a meal for...

Filip Hric 24th March 2025 Playwright in Production Hello Reader,I’ll be doing a live webinar with my friend Jonathan tomorrow. We’ll be talking about different use-cases of Playwright in production. Interestingly we’ll focus on use cases that are outside of testing, like web-scraping, monitoring and automation workflows. Make sure to register and join us! Register here Blogposts, discussions, events In Case You Missed It – Code (r)evolution Livestream Last week, Jonathan and I unpacked...