Hi Guys,

First of all, thanks for your time, as I am treading in new territory here and I was wondering if I could get some high level answers as to whether I am looking at my problem from a realistic manner or if I am asking the wrong questions.

I am looking to write some automated tests for a GUI application. This GUI Application could be easily compared to something like the Unity Games Studio, or Starcraft II Map Maker. What I mean by this, is that this is a GUI that uses various features to manipulate a 3D environment. The thing I want to test is, if a new feature is added to this type of software, I should be able to expect how it alters this 3D space. If the 3D space is rendered in OpenGL on some screens, and D3D on other machines, I should be able to test some cases of failure based on what kind of graphical API calls I can expect.

My first approach to the problem would involve some kind of QA-GUI library, along the lines of what can be found here: List of GUI testing tools - Wikipedia, the free encyclopedia. Based on my application, something like QAliber seems perfect besides the fact that it hasn't been updated in a while.

Now this will handle the automation of doing the tests, but verifying their results could be done by a Graphics API interceptor. For example, if I want to test a new feature I should be able to expect a certain behavior out of it in terms of how it manipulates the 3D Space. If I could intercept the OpenGL or D3D calls, I could check whether the calls are something I expected or not at all. To do this, I tried to look into GLIntercept, but unfortunately the application I was testing verifies its directory with an online environment to prevent modification, so I was wondering if there was something that could be used without manipulation of the directory for this GUI, or maybe even something that more hardware specific, rather than API specific (as in, catches calls being made by the API to the Graphics card instead).

So to Summarize what I am trying to ask:
Am I asking the right questions for this?
Is trying to intercept Graphics API calls to see how the GUI features manipulate the 3D space too low level?
If my approach is appropriate, could anyone suggest a list of tools I could read through (for GUI testing AND Graphics Intercepting) to see which ones are right for my application?
Can anyone suggest a simpler approach?

Please let me know if my request is not clear and I can clarify it to my best efforts.

Again, thank you for your time.