I want to conduct a few UI tests for my application. I want to do this for different screen resolutions, display settings, languages and operating systems.
To achieve that, I'm looking for a library that
- can change Windows system settings
- screen resolution (pixels)
- screen orientation (landscape, portrait)
- screen layout (relative to each other)
- screen coordinates (e.g. let one monitor have negative coordinates)
- enable/disable connected monitors (multiscreen tests)
- change DPI settings (96 dpi vs. 120 dpi)
- change UI scaling (175%)
- switch keyboard layouts (EN vs. DE)
- change system colors
- switch between light / dark mode for Apps
- configure high contrast mode
- enable/disable transparency
- enable/disable touch mode (Windows Ink stuff)
- ... (similar stuff)
- does that without mouse clicks or keyboard interaction so that it's as little error prone as possible
- do that on Windows 8 and 10 (and 11 soon)
- has a .NET API
- ideally is able to take screenshots including areas used by 3D graphic card hardware (like games; that's not so easy)
I am not looking for Windows API + P/Invoke. I do not want to implement that all by myself.
Price: 100 € per developer is totally fine. Higher price might also be ok.