Forum Discussion

gus's avatar
gus
Contributor
10 years ago

Tricks of testing 32 and 64 bit version of an app

Hi,

 

I am to test the 32 and 64 bit versions of an application, one called foo.exe, the other called foo32.exe, coexisting in the same directory. I know I can add multiple apps to the Tested Apps node, but I'm not sure in the next steps.

 

I have a complex set of tests and scripts which often refers to mapped objects and aliases created when recording steps in foo.exe. I also have a couple of scripts which refer to the foo.exe process to, for example, check if the app is running before starting tests and close the app.

 

Obviously I would not like to duplicate the set of tests and scripts, so I wonder if there is a way to have TestComplete know which tested app to consider, and intelligently refer to foo32.exe's controls and objects in the scripts recorded with foo.exe. Also I wonder if there is any easy way in scripts to determine the actual tested app (so that I try to close the correct app, for example).

 

Thanks for your time.

  • what I do is having 2 exe's in seperate folders eg C:\32exe\foo.exe and C:\64exe\foo.exe
    (once you mapp with foo.exe aliases will contains Aliases.foo.frmWindo... too cumbersome to convert that to Aliases.foo32.frmWindo...)
    in the tested app I gives two names eg foo32 and foo64
    so you can call TestedApps.foo32.Run()
    but mappings are always with Aliases.foo.frmWindo... where I hv mapped such a way, everymappings are common for 32 and 64 (you can use conditional mappings and *)
    I run same test one after other for both applications.

  • Assuming that no changes between 32 and 64 it sould be OK (you hav to consult your dev team)

    TC will recognized what is 32 and 64. see this you may use this to make sure what is running.

     

    yes conditional mapping is optional more details

    good to use handling if  there are object property deferences in two versions

     

     

  • NisHera's avatar
    NisHera
    Valued Contributor

    what I do is having 2 exe's in seperate folders eg C:\32exe\foo.exe and C:\64exe\foo.exe
    (once you mapp with foo.exe aliases will contains Aliases.foo.frmWindo... too cumbersome to convert that to Aliases.foo32.frmWindo...)
    in the tested app I gives two names eg foo32 and foo64
    so you can call TestedApps.foo32.Run()
    but mappings are always with Aliases.foo.frmWindo... where I hv mapped such a way, everymappings are common for 32 and 64 (you can use conditional mappings and *)
    I run same test one after other for both applications.

    • gus's avatar
      gus
      Contributor

      Thanks! So just to make sure, am I right assuming Aliases.foo32, created when recording steps in the 32 bit edition, will work fine when running the 64 bit edition from the tested apps?

       

      Using conditional mapping is only an option, not a requirement, is it?

      • NisHera's avatar
        NisHera
        Valued Contributor

        Assuming that no changes between 32 and 64 it sould be OK (you hav to consult your dev team)

        TC will recognized what is 32 and 64. see this you may use this to make sure what is running.

         

        yes conditional mapping is optional more details

        good to use handling if  there are object property deferences in two versions