Test the desktop apps the rest of the business actually depends on.
LoadGen runs thick-client and FAT-client desktop apps via the generic wizard with LocalClient technology — workload-based .lgs scripts, Full agents (port 4840), and continuous UX validation. No brittle UI macros.
New Load Profile
Step 1: Select the technology for this profile
Select Technology
Choose the technology for this load profile. The subsequent steps adapt to your selection.
The Local Client technology runs a local desktop application on the LoadGen agent machine, without a remote protocol. Use this for workloads that don't require remoting.
The Problem
Desktop apps drive the business. Nobody tests them under load.
Web has Playwright. APIs have OpenAPI. Desktop apps have brittle UI macros and prayer. The business pays the cost.
Desktop apps that nobody load-tests, and everyone depends on.
The legacy line-of-business app that runs payroll. The thick client behind the trading desk. They drive the business and they’re tested by exactly nobody under load.
Scripts that rot the moment a UI label changes.
AutoIt, AHK, hand-written wrappers — every UI tweak breaks the test. Maintenance overhead exceeds the value before the second release.
No way to compare a desktop app against itself across versions.
When the Citrix-published version outperforms the local install, you have a hand-wave hypothesis instead of a measurement.
How LoadGen handles FAT clients
Author · Deploy · Execute · Monitor.
Four motions, every one workload-based — not UI-macro-based. Same engine handles load, functional, and continuous monitoring.
Author
Generic wizard with LocalClient technology — workload-based scripts, not brittle UI macros. Captured once, replayed across versions.
Deploy
Full agents (port 4840) install, manage, and run thick-client sessions on real Windows hosts. Install, Uninstall, Reboot as batch operations.
Execute
Versioned .lgs workloads (Minor / Major / Patch) drive every test — desktop session lifecycle handled per-host, not per-script.
Monitor
Continuous E2E UX validation re-runs the same scenario between releases. Drift surfaces before users notice.
Live · Generic Wizard · Local Client
Workload-based, version-controlled, UI-tweak-resistant.
The wizard captures the workload — not the cursor coordinates. UI label changes don’t break the test, and version-controlled .lgs files mean every release is a comparable measurement.
Outcomes · before / after
Test the desktop apps the rest of the business is afraid to ship.
Drawn from teams that adopted workload-based desktop testing for one release cycle.
Before
8 days
After
4 hrs
Before
6 h
After
20 min
Before
2
After
14
Before
24 %
After
2 %
FAT Client → Platform
Five features. One desktop practice.
FAT-client testing isn’t a feature — it’s the way these five compose into a measured desktop release loop.
- /config/load-profiles/new/local— Generic wizard · Local Client
- /config/workloads— .lgs versions · Min/Maj/Patch
- /testing/active— Live desktop cockpit
- /testing/results— Multi-test version overlay
- /monitoring/profiles— Continuous desktop UX validation
Load Profile Wizard
Generic wizard with LocalClient technology — workload-based authoring for thick-client desktop apps.
/features/load-profile-wizard
Agents
Full agents (port 4840) for desktop sessions — Install, Uninstall, Reboot, Reset, Lock, Unlock, Logon, Logoff, Kill batch ops.
/features/agents
.lgs Workloads
Workload-based scripting with Minor / Major / Patch version control — same engine that powers load + functional testing.
/products/functional-testing
SUT Monitoring
Bind host CPU, memory, disk, and license-server counters to every test — desktop performance correlates with infra health.
/features/sut-monitoring
E2E Monitoring
Continuous desktop UX validation from real-user perspective — same scenario shape as your load tests.
/products/monitoring
Move desktop apps from "afraid to ship" to "measured to ship."
Author the first .lgs workload this afternoon. Run it on Full agents this week. Compare versions on the next release without rewriting a single macro.
