Seeking Advice: Automating GUI and Hardware Compatibility on a Linux-based Endpoint OS

Hello everyone,

I’m working on a project that involves a highly secure, Linux-based endpoint operating system. My current challenge is to build a robust automation framework for two key areas:

  1. Desktop Application GUI testing: The applications are designed to run on this specific Linux desktop environment. I need to find a reliable way to automate user interactions, such as clicking buttons, entering text, and verifying visual elements.

  2. Hardware Compatibility: We need to validate that the OS and applications function correctly across a variety of hardware configurations (different CPUs, GPUs, peripherals like printers, scanners, etc.). This is a hybrid problem where I’m seeking a way to automate as much of the environment setup, test execution, and data collection as possible, while reserving the final visual verification for a manual process.

I’ve been exploring a few tools like Python with pyautogui SikuliX, but I’m curious to hear about your experiences from the community.

  • Has anyone tackled similar challenges with a Linux-based OS?

  • What tools or frameworks have you found to be most effective for this type of GUI automation on Linux?

  • Do you have any suggestions for scripting and automating the collection of hardware/system information?

Any insights, examples, or war stories you can share would be greatly appreciated. I’m trying to find the best approach to build a scalable and maintainable solution.

Thanks in advance for your help!

1 Like

I come from a similar background.

If you are open for reliable and robust testing, check out:

Squish - Automated GUI Testing | Product Video

MoT also has a collection for them:

Qt Group: cross-platform solutions for the entire software development | Ministry of Testing

2 Likes

What kind of hardware variations exactly do you need to test, are these custom hardware or stock computer servers/desktops from name brands or parts from name brand?

Your hardware compatibility testing makes me think device farm or server farm. With exception of peripherals and maybe GPUs, if the hardware is common enough, you might be able to find test providers that offer such farm clusters for rent maybe. Otherwise build your own and hopefully manage with some open source farm management tool/software, not sure about computing farms but like for mobile device farms, there are open source software solutions for those.

1 Like

The main goal is to try to reduce the manual testing effort. The Os is based on Ubuntu distribution. And need to be tested on different brands devices mainly laptops. You can only imagine how big is the number of devices.