Can Katalon + WinAppDriver Automate Installed PWA Apps?

Hi all,

I’m trying to automate a Progressive Web App (PWA) that’s installed on a Windows machine (runs in a standalone Chromium window — not a native app). I’ve tried using Katalon Studio (v9.7.2) with WinAppDriver for desktop automation, but I’m running into the following issues:

WinAppDriver starts fine

I point to the .exe for the PWA (from the Web Applications folder)

Katalon returns: “Failed to locate opened application window”

Also tried spying on the UI with Inspect.exe, and it only detects a Chrome_RenderWidgetHostHWND, with no inner controls exposed.

My assumption is that since this is essentially a Chromium shell, it’s not compatible with WinAppDriver/Katalon’s desktop automation.

Just checking — has anyone successfully automated an installed PWA using Katalon? Or is this officially unsupported?

Thanks in advance!

1 Like

Automating an installed PWA (Progressive Web App) on Windows via Katalon + WinAppDriver is not feasible for most scenarios because PWAs running in a Chromium standalone window are essentially web content, not native Windows applications. Here’s why:

1. Why WinAppDriver Fails

  • Technical Limitation: WinAppDriver relies on UI Automation (UIA) to interact with native Windows controls (buttons, text fields, etc.). PWAs running in Chromium act as a single Chrome_RenderWidgetHostHWND element, exposing no nested controls to UIA.
  • Chromium Shell Behavior: The installed PWA is a lightweight Chromium instance, which WinAppDriver treats as a “black box.” Tools like Inspect.exe confirm this by showing no actionable child elements.

2. Workarounds & Alternatives

While WinAppDriver won’t work, try these approaches instead:

A. Use Web Testing (Selenium/WebDriver)

  • Automate the PWA as a website:
    • Directly navigate to the PWA’s URL in Chrome/Edge via Katalon’s WebDriver.
    • Use Katalon’s built-in browser automation (e.g., WebUI.openBrowser()) to interact with elements.
  • Pro Tip: If the PWA requires installation, use Chrome/Edge flags to auto-launch it as an installed app.

B. Desktop Automation Tools for Chromium

  • Playwright/Puppeteer: These tools control Chromium at a lower level and can automate the PWA’s window directly.
  • Integration with Katalon: Call Playwright/Puppeteer scripts via Custom Keywords in Katalon.

C. Use Accessibility Tools (Partial)

  • Enable Chrome’s Accessibility Tree:
    Add --force-renderer-accessibility to Chromium’s startup arguments to expose basic UIA nodes.
    • Still unreliable for complex PWAs but may help for simple text/button interactions.

3. Why Katalon + WinAppDriver Isn’t Officially Supported

Katalon’s desktop automation (WinAppDriver) is designed for native Windows apps (Win32/UWP). PWAs fall outside this scope. While some users claim success with Chromium-based apps like Slack/Teams, these apps have hybrid UIA+web views, unlike most PWAs.

Final Recommendation

Switch to WebDriver in Katalon and automate the PWA via its URL. If you must treat it as an “installed app,” use Playwright/Puppeteer to control the Chromium instance directly. WinAppDriver will only work if the PWA exposes UIA-compliant controls (rare).

For more details, see Katalon’s documentation on hybrid app testing or explore Chromium-specific automation tools

1 Like