I am investigating technologies for testing the GUI component of Wireshark. I have in mind 2 scenarios
1) feature testing
In this scenario I'd like to launch qt ui and have a software that acts like a user, by opening menus and clicking on buttons. The goal of it is to check that some features are working as expected.
2) regression testing
In this scenario the test is run in a CI environment. The ui is launched against some capture files with different options and we could either: (1) verify it doesn't crash, (2) check resulting output wherever possible.
Remember that usually CI machines aren't regular machines but they are headless with no graphics. Travis docs explain how to do headless testing in a web scenario