Forum Discussion

ryan_perneel's avatar
ryan_perneel
Contributor
7 years ago

Export a project as a library

Hello, 

 

In our current architecture, we have 3 products being tested in the same TestComplete project suite.  We have a single project in the suite that will test the integration between 2 of the products.  

 

Basically I do action in product 1, then goto product 2 and validate data change.

 

This has been working "fine" for now, but this super suite is growing and is starting to become trouble some.

 

I was hoping that i would be able to split the different products into their own, then in the "integration" project include the 'libraries' from the 2 other projects. 

 

Not sure if I explained this well at all :)

 

Thanks.

1 Reply

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    Projects in test complete run in isolation and in sequence within the suite.  So, if you have a project suite with project 1, 2, and 3 in that order, they will execute in that order, each project in it's entirety.  So, you cannot run a test case from project 1 followed by one from project 2,  then go back and run a different test case from project 1.

     

    Now, you can share code between projects... this is a standard practice by many TC users.  But they are shared code in that they run in isolation within the called project.  So, I can run a routine in Project 1... and run the same routine in Project 2... but there is not an awareness in project 2 of what project 1 did.

     

    Now... slight modification... you can use Project Suite level variables to store data from one project to be used in another project but it's not going to work like you described below.  It will still be all of project 1 executing before the first test of project 2 runs, just that you will be able to store information to be used across projects.  You MIGHT be able to architect things in such a way that this will work for you, but I'm not sure exactly.

     

    Your third option: Investigate Network Suites.  This will allow you to run different "jobs" on different machines and synchronize between the jobs.  You will have slave projects and master projects so this MIGHT be a way of architecting things to work for you.  Worth investigating, for sure.