Testee UI is an event driven system. It receives command from the test logic and changes the user interface according to those commands. When testee makes his/her decisions, Testee UI will forward them to Test Logic. Timeouts are needed in some tests and Testee UI is responsible for implementing them.
Parts of the user interface functionality run in three different processes. (See the picture below.) The Test Logic process contains stub routines to hide the details of interprocess communication from the Testee UI user. When Test Logic asks for a GUI, the GUI Server process starts another process. The started process is a GUI of the type requested by the Test Logic. The Test Logic will then open a communication channel to communicate with this GUI process. The GUI process implements the GUI testee sees on his/her screen.
The class stucture of Test Logic process Testee UI modules.
The class stucture of GUI server process Testee UI modules.
The class stucture of GUI process Testee UI modules.
You usually don't have to know about the communication done between the GUI Server and the Test Logic. If you are interested, you can find the documentation here .