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