Architecture behind Playwright and Katalon? How does it work?

I understand that Playwright communicates using Websocket commands to its server, where exactly is this server? And how am I able to run my tests offline if running the tests require this server?

Sidenote: I’m also having a lot of trouble trying to find the architecture behind Katalon as they aren’t so explicit with it. If anyone knows anything about it as well, do let me know!


Hi @calenstia, welcome and good first question!

Playwright doesn’t start up a server like webdriver instead it launches browser instances as separate processes and communicates via WebSocket like you mentioned. You can see this in action in the CLI by setting some variables when running the tests - DEBUG=pw:api,pw:browser* npx playwright test.

Wherever you run the command will take care of the server/browser instances. Or depending on the tool and scenario you can define where the webdriver server will run e.g.

It really depends on what you are wanting the tool to do! Do you have any more context about what you are trying to achieve?

Unfortunately I don’t have much experience with Katalon but I would guess it is a similar setup.