Manfred_F's avatar
Manfred_F
Regular Contributor
8 years ago
Status:
New Idea

Provide correct multi-user handling/shared mode

TC is definitely not able to handle dynamically changed Project properties correctly in shared Project mode / multi-user mode.

 

I tried it with TC and TE running parallel, both dynamically changing the ODT tree: dynamical properties are changed by a first running TC/TE instance. When a second instance starts, it gets the properties in changed Status and changes them again. In case a third instance would start, it would get properties changed over and over. The property values You get depend on the call starting sequence of the instances and on their running time.

Using the silent mode of TE stores the changes without a Chance to Abort this.

At least, the second instance fortunately doesn't make the first instance's property readings inconsistent.

 

Similar things can be watched with the  TestedApplications Object.

 

It seems as if TC/TE gets a local snapshot of the central Project properties when starting a test run. When the test is finished, or in case of ODT even during the test run, changes are written back to the central Project store.

 

The correct way to handle this would be to

- get a local snapshot of the Project properties

- store any changes EXCLUSIVELY in this local snapshot

- enable the script programmer/user to save or disregard when the test run is over.

 

See also: https://community.smartbear.com/t5/TestComplete-General-Discussions/using-TC-properties-dynamically/m-p/128482/highlight/false#M23772

2 Comments

  • cunderw's avatar
    cunderw
    Community Hero

    Why not use source control and each user just has their own local copy? They can then revert their changes after running a test. 

  • Manfred_F's avatar
    Manfred_F
    Regular Contributor

    Yes, this is an Option, too.

    I see two Options:

    1) make the Feature work right

    2) remove it.

     

    It is like with the german car surveillance: what ever You Mount to Your car must work, otherwise - unmount it.