Forum Discussion

wynfranc100's avatar
wynfranc100
Occasional Contributor
3 years ago
Solved

Headless for Desktop UI

Hi.

 

There is a headless GUI for Web, can we do the same for the desktop application? Any docs and links to share about that?

 

Thanks

 

 

  • AlexKaras's avatar
    AlexKaras
    3 years ago

    wynfranc100 :

    Hi,

     

    I got your question like this: "I would like to start my desktop application on a box so that this desktop application does not display its UI and drive this application using TestComplete/TestExecute. Is this possible?"

     

    If my understanding of your question is right, then no, this is not possible.

    Couple of notes:

    a) It is Chrome's internal feature to provide a headless page processing. You must program your desktop application in a similar way and this is not related to TestComplete;

    b) TestComplete essentially designed to mimic human user's actions over the tested application. To do this, TestComplete analyses tested application to get info about its UI elements and then interacts with these elements by sending events to their window handling procedures, exactly as operating system does. Because of this TestComplete cannot interact via UI with applications that do not display UI on desktop;

    c) On the contrary, Selenium and Appium do not mimic end user's actions like TestComplete does but instead inject their code into web page and emulate end user's activities via direct calls to handling routines. Due to this Selenium/Appium can drive web pages that are not rendered on the desktop;

    d) Headless web pages can be driven by TestComplete only for tests that are executed on the systems that are under Selenium/Appium control (e.g. CrossBrowserTesting, BrowserStack, etc.). This is because in this case TestComplete does not directly control tested web pages, but does this using Selenium/Appium.

     

    Hope this makes my answer more clear.

     

7 Replies

  • And TestExecute requires an interactive/open users session. 

      • AlexKaras's avatar
        AlexKaras
        Champion Level 3

        wynfranc100 :

        Hi,

         

        I got your question like this: "I would like to start my desktop application on a box so that this desktop application does not display its UI and drive this application using TestComplete/TestExecute. Is this possible?"

         

        If my understanding of your question is right, then no, this is not possible.

        Couple of notes:

        a) It is Chrome's internal feature to provide a headless page processing. You must program your desktop application in a similar way and this is not related to TestComplete;

        b) TestComplete essentially designed to mimic human user's actions over the tested application. To do this, TestComplete analyses tested application to get info about its UI elements and then interacts with these elements by sending events to their window handling procedures, exactly as operating system does. Because of this TestComplete cannot interact via UI with applications that do not display UI on desktop;

        c) On the contrary, Selenium and Appium do not mimic end user's actions like TestComplete does but instead inject their code into web page and emulate end user's activities via direct calls to handling routines. Due to this Selenium/Appium can drive web pages that are not rendered on the desktop;

        d) Headless web pages can be driven by TestComplete only for tests that are executed on the systems that are under Selenium/Appium control (e.g. CrossBrowserTesting, BrowserStack, etc.). This is because in this case TestComplete does not directly control tested web pages, but does this using Selenium/Appium.

         

        Hope this makes my answer more clear.