Forum Discussion

aronsb's avatar
aronsb
New Contributor
8 years ago

TestSuite Clone

Hello,

 

I'm using SoapUI 5.0.0 (free)... have a question about cloning a TestSuite.

 

I created a new project specifically for unit testing.  I built a TestSuite based on the initial WSDL for the project (working great).  Then I added a second WSDL to the project (my plan is to have one project with multiple WSDLs and TestSuites). Instead of creating the second TestSuite from scratch, I cloned it from the initial TestSuite... and then tweaked it (updated endpoints, etc).  I want to make sure the second TestSuite doesn't have any references to the initial TestSuite but noticed the Interface property points back to it.. and that property appears to be read-only.

 

Am I cloning the TestSuite correctly?  Keep in mind, i'm trying to attach the clone to a different WSDL.

 

Thanks!

  • Yes, you are cloning the Test Suite correctly. What you get is a real clone, i.e. with references to interfaces of the original Test Suite.

     

    If you need to change the interfaces of the test steps (e.g. Soap Request test steps), you need to visit each of them and change the operation (right-click on the test step, option Change operation).

     

    There's no direct relation between a test suite (or test case) and the interface (WSDL). That is why you need to change the test step level.

     

    When I need to make a test project with similar suites for different services (WSDLs), I generate it programatically with Groovy. It takes some more time, but when there are tens of services, it's more efficient. The great thing is when you make a change, it's propagated to all test suites.

     

    Karel

     

  • KarelHusa's avatar
    KarelHusa
    Champion Level 1

    Yes, you are cloning the Test Suite correctly. What you get is a real clone, i.e. with references to interfaces of the original Test Suite.

     

    If you need to change the interfaces of the test steps (e.g. Soap Request test steps), you need to visit each of them and change the operation (right-click on the test step, option Change operation).

     

    There's no direct relation between a test suite (or test case) and the interface (WSDL). That is why you need to change the test step level.

     

    When I need to make a test project with similar suites for different services (WSDLs), I generate it programatically with Groovy. It takes some more time, but when there are tens of services, it's more efficient. The great thing is when you make a change, it's propagated to all test suites.

     

    Karel

     

    • aronsb's avatar
      aronsb
      New Contributor

      That worked... thanks Karel!

       

      One more question, if you don't mind.  Here's my process for adding a new TestSuite to an existing project

       

      • Add the new WSDL to the project
      • Clone an existing TestSuite
      • Update each Test Step for the newly cloned TestSuite
        • change the interface (via 'Change Operation' )
        • update the endpoint (point to correct interface)
        • update any assertions that are based on interface (e.g. Schema Compliance)

      Am I on the right track?