Forum Discussion

parxier's avatar
parxier
Occasional Contributor
14 years ago

When Test Request is cloned endpoints are not cloned

Steps to reproduce:

  1. Create new Test Suite (ts1)

  2. Create new Test Case (tc1) under ts1

  3. Add new Test Request Test Step (tr1) under tc1

  4. Add some endpoints to tr1

  5. Create new Test Suite (ts2)

  6. Create new Test Case (tc2) under ts2

  7. Clone (copy) tr1 into tc2 renaming it to tr2

  8. Modify endpoints in tr2 to smth different from tr1


  9. Expected:
    Endpoints in tr1 don't change.

    Actual:
    Endpoints in tr1 change to tr2 endpoints which is wrong.

    You would think that deleting all endpoints in tr2 and creating new ones would help, but it doesn't work either. When you delete endpoints from tr2, they also deleted from tr1 and vice versa (same applies for adding new endpoint). Both requests are tightly coupled despite of been supposedly decoupled clones.

    Workaround:
    Create fresh new test request tr2.

5 Replies

  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi,

    the endpoints you are creating are managed at the interface level, ie if you open the window for the corresponding wsdl interface you will see a "Service Endpoints" tab that holds all your endpoints, and since the two requests share the same underlying operation (and thus interface), they will have the same list of endpoints.

    Hope that makes sense!

    regards,

    /Ole
    eviware.com
  • parxier's avatar
    parxier
    Occasional Contributor
    Ole,

    since the two requests share the same underlying operation


    They don't really. They are from different Test Suites and I want to use completely different endpoints.

    The reason I'm cloning request test step is to copy response assertions from original request test step to the new one (there are quite a few and it's hard to recreate all of them manually).
  • SmartBear_Suppo's avatar
    SmartBear_Suppo
    SmartBear Alumni (Retired)
    Hi!

    maybe I am misunderstanding then, but if these are SOAP requests for a WSDL that you have imported into your project, then they endpoints are managed at the WSDL level, which is the same for all SOAP TestRequests in all your TestCases and TestSuites in this project. Please attach your project if you are still unsure and I'll try to be more specific (or correct)

    regards!

    /Ole
    eviware.com
  • I manage my endpoints (add all possible endpoints I might want) at the WSDL level. Then they are all displayed as choices in any TestRequest for a operation defined by that WSDL.

    Even better, use only one endpoint with IP and Port defined using properties. Then modify the property value when you want to change endpoints.