Testing websites and GUIs

I’m at a point where I would feel comfortable vibe coding some website (though the core logic is carefully human-written), but I still don’t know how to write tests for a website. If the LLM implements feature B while breaking feature A, that’s not much progress forward. How do you all deal with this?

The LLM itself seems to recommend (normal unit tests and) using playwright. Playwright looks popular, but it has apparently never been mentioned on the julia discourse, does anyone have experience with it?

Current options are:

It’s so raw as to be slightly embarrassing to bring up but, as another option I did start a (vibe coded with agent-skills) Playwright port here GitHub - frankier/playwright-julia · GitHub . It’s currently waiting for Oxygen.jl to catch up with HTTP.jl 2.x so I can start testing it with other web stuff. Not sure if it helps, but welcome to try and collaborate rather than ending up with 3 half-baked Playwright packages.

i looked at your repo (GitHub - frankier/playwright-julia · GitHub), it will actually be very useful for a project i am working on! ill try it with my project and let you know about bugs i encounter :slight_smile:

I have used it for certain use cases. At its core it is an MCP server, which exposes tools and allows the agent to control a browser session. I’ve mainly used it as a way to capture screenshots of document elements in order to create the automated documentation here KaimonSlate.jl.

I’ve been working for the past several months on tools which are more Julia centric, Kaimon and KaimonSlate. They also expose tools via MCP. They don’t necessarily help you create a ‘website’, but I also don’t know what you mean by that. They might offer something for you.

I have worked on a lot of AI tooling specifically for Julia and might have some advice for what to use, but I’d need to understand your goals better. Happy to discuss here or through DM chat.

I use the tools I create when working on the tools themselves, as well.

I’ve now got GitHub - frankier/Playwright.jl: Drive real browsers from Julia through the official Playwright automation engine · GitHub to a fairly good point now. I’d certainly appreciate any help testing and finding design issues, missing important features and so on. I’m currently using it in a couple of repos. The main thing I’m currently thinking is to generate comparisons with playwright python and also restructure the documentation in the style of playwright python. I’ll make an announcement post in a few weeks with an eye to registering it — probably straight to 1.0 – within maybe a couple of months.