Architecture
Playwright Proxy is part of Healenium Pro and is designed to run as containers with Docker. It sits between your Playwright tests and the Playwright server: it intercepts commands, manage healing and delegates locator saving and reporting to the Healenium backend.

Main components:
  • Healenium backend - manages locator storage and generating, reporting.
  • Healenium Playwright Proxy itself - intercepts the test commands and manages the healing logic.
  • Official Playwright Server, which handles the browser automation.
In addition playwright proxy is integrated with other Pro features:
  • AI-Powered Healing - fix test code with 'healed' locators.
  • Advanced Analytics Dashboard
Communication protocols:
  • Playwright client  ↔ Healenium Playwright Proxy — WebSocket: test commands and responses go through the proxy.
  • Healenium Playwright Proxy ↔ Official Playwright Server — WebSocket: the proxy forwards browser automation to the official Playwright server.
  • Healenium Playwright Proxy ↔ Healenium Backend — HTTP: locators, reporting, and Pro features.
How Healenium Playwright Proxy works
The proxy sits between your Playwright tests and the Playwright server, transparently forwarding all test commands. The logic is the same as with selenium.

During normal test execution it collects every successful selector and stores it in the Healenium backend — this builds up a knowledge base of working locators.
When a previously successful selector fails, healing is triggered: the proxy retrieves the stored element reference from the backend, generates alternative locator candidates, and retries the command against the Playwright server until one succeeds. Once healed, the result and a screenshot are saved back to the backend for reporting and future reference.
Performance
What was checked:
26 different Playwright actions each repeatedly.
Actions tested:
  • Visibility & interaction: click, dblclick, hover, focus, blur
  • Input operations: fill, clear, pressSequentially, press
  • Content retrieval: textContent, innerText, innerHTML, inputValue
  • Element properties: getAttribute, boundingBox, isEnabled, isDisabled, isEditable
  • Checkbox operations: check, uncheck, setChecked (true/false), isChecked
  • Utility methods: scrollIntoViewIfNeeded, selectText

Just redirect mode performs nearly identically to direct server connection.
Locator collection mode adds 4-13ms overhead per action.


About Healenium
Contacts
  • Dmitriy_Gumeniuk@epam.com - Project Supervisor