Forum Discussion

Peter_Collins's avatar
Peter_Collins
New Contributor
13 years ago

Version control with TestComplete

Is there a simple way to have version control with TestComplete?



We are going to have a team of six testers working on the same project (with the testers located on two sites in different countries). We will need to work together sharing files and libraries of scripts, and so therefore some form of version control is essential.



We have tried using SVN (AgentSVN with TortoiseSVN). This does not seem to work correctly, it does not seem to recognise when somebody else already has a file checked out. But the main issue is that if I create a new Keyword test (for example), it seems I have to checkout the Keyword file, the Project file (possibly the Project Suite file) - surely this stops (or should stop) anyone else writing a keyword test at the same time?



We are going to try Visual SourceSafe, but suspect we will see the same sort of problems.



Is there a realtively straightforward way to enable several testers to work on the same TestComplete project at the same time?
  • irina_lukina's avatar
    irina_lukina
    Super Contributor

    Hi Peter,


    This does not seem to work correctly, it does not seem to recognise when somebody else already has a file checked out.


    Could you please clarify why you think so? Were the project items marked with unexpected icons? Have you tried refreshing the status of the project files?


    if I create a new Keyword test (for example), it seems I have to checkout the Keyword file, the Project file (possibly the Project Suite file) - surely this stops (or should stop) anyone else writing a keyword test at the same time?


    If you want to add a new child item to a project (for instance, a new item to the Keyword Tests collection), I recommend that you first refresh the status of the project files to make sure that the needed files are not checked out. For this purpose, use the File | Source Control | Refresh Status main menu item. Then, you need to check out the needed project item (in your case, it is the KeywordTests file), project file (*.mds) and project suite file (*.pjs). To do this from TestComplete, right-click the project suite node in the Project Explorer panel and select Source Control | Check Out from the invoked context menu. In the ensuing dialog, specify the files to be checked out and click OK.


    If each tester follows the described approach, TestComplete will recognize the needed project item is checked out by another tester.


    For more information on working with shared projects, see the How to Organize Simultaneous Work With Shared Projects help topic.


    I hope this information helps :)

  • Thank you very much for that, Irina.



    We have now tried a different SVN 'plug-in', which seems to correctly recognise whether or not files are checked out.



    But if we have to check out the project file whenever we want to add a new script, surely that means nobody else can work on the same project at the same time?
  • irina_lukina's avatar
    irina_lukina
    Super Contributor

    Hi Peter,


    But if we have to check out the project file whenever we want to add a new script, surely that means nobody else can work on the same project at the same time?


    If you need to add a new script or keyword test to a project, than yes, only one tester can work on the project at the same time. However, working on the project doesn't always mean creating new files in the project. For instance, if you have a large project that includes many tests (units or keyword tests), one tester can work on one test (and he needs to check out only one file that corresponds to this test), and another tester can work on another test of the same project at the same test.