Forum Discussion

atul_acrolinx's avatar
atul_acrolinx
Occasional Contributor
6 years ago

TestComplete switching between two windows applications

Hello,

 

I am currently trying to automate one windows application which has one authentication module in it. 

 

when I launch my windows application,

1. firth thing it asks me is to enter server URL in the application (I am able to automated this)

2. Click on login button.  (I am able to automated this)

 

3. then it opens a default web browser for me to enter user name and password and click on Submit button  (NOT DONE, how to switch control to web brower and make it identify control on web brower enter info and click submit)

 

4. and then I need to again sswitch back to my windows application again and check if application login is successfull 

5. then continue next actions on windows application.

 

Can anyone suggest on this or if anyone had already written some peice of code for something similar scenario ? 

 

Basically swtiching between two different applications during automation in TestComplete. 

 

  • AlexKaras's avatar
    AlexKaras
    6 years ago

    Hi,

     

    NameMapping will certainly work.

    But NameMapping is (just) a more convenient and manageable form of direct process and object referencing. So it is not required to stick to NameMapping/Aliasing (though it is a recommended way) and the following (pseudocode) will work as well:

    var oMyDesktopProcess = Sys.Process(<YourDesktopApp>);

    var oDesktopLogin = oMyDesktopProcess.Window(<LoginWindow>);

    // perform login sequence

     

    var oBrowser = Sys.Browser(<BrowserName>);

    var oPage = oBrowser.Page(...);

    // perform actions in browser

     

    oMyDesktopProcess.Window(<SomeOtherWindow>).Button(<...>).Click();

    oPage.FindChild(...);

    // etc.

    // i.e. no special actions to switch between tested applications are needed with TestComplete

     

  • Wamboo's avatar
    Wamboo
    Community Hero

    In my opinion, all the operations you mentioned in the entry can be performed by mapping objects to the NameMapping repository.

     

    Map the items you are interested in and then work with them in the code.

     

    If you want to run some applications other than the one you are working with during the script, add it to TestedApps.

     

    The problem of switching between applications will not occur if you have it mapped in the NameMapping repository.

      • AlexKaras's avatar
        AlexKaras
        Champion Level 3

        Hi,

         

        NameMapping will certainly work.

        But NameMapping is (just) a more convenient and manageable form of direct process and object referencing. So it is not required to stick to NameMapping/Aliasing (though it is a recommended way) and the following (pseudocode) will work as well:

        var oMyDesktopProcess = Sys.Process(<YourDesktopApp>);

        var oDesktopLogin = oMyDesktopProcess.Window(<LoginWindow>);

        // perform login sequence

         

        var oBrowser = Sys.Browser(<BrowserName>);

        var oPage = oBrowser.Page(...);

        // perform actions in browser

         

        oMyDesktopProcess.Window(<SomeOtherWindow>).Button(<...>).Click();

        oPage.FindChild(...);

        // etc.

        // i.e. no special actions to switch between tested applications are needed with TestComplete