Test Center v2 and Test Center v3 changes

Overview

We have simplified many API’s and reduced API count in v3. Below are the changes which you will see in v3 compared to v2 and v1:

  • To create a test case in API v3, you don't need to create test request and condition separately but can be provided them while creating the test case object.
  • Test cases can be created directly under test suite. So, no need to create test case separately and then associate it with test suite.
  • The process for creating a condition statement is simplified and so is the condition object.
  • API v3 support many new features: dynamically and statically assigned variables, POST and HEAD test requests, submittion of a test run with a test case object and variable group or array.
  • Removed config version as independent resource. You can now provide property version information directly under a test suite object.
  • Removed requirement as independent resource. You can now use test suite description to provide this information.
  • Removed Test request and Condition related API.
  • Removed Activities and Access-control related API’s. These features are supported only in UI.
  • Comparative testing is only supported in UI.
  • Simplified test run API. Now you can execute test run by providing property version ID, test suites ID, or a simple test case. If you provide only property version or test suite ID, then Test Center runs the test for all included objects.
  • The get a single test run API response contains the context of all the executed objects along with results. You can manage the response data using query parameters.
  • Submission of test runs for multiple config versions and test cases is not supported in the test run API.

Details

Here's the list of all changes between the v2 and v3 of Test Center API:

  1. No requirements. The requirement object is no longer supported by Test Center. You can now use the test suite's description to describe business requirements which the test suite refers to.

  2. Config version becomes Property version.

  3. Test requests, conditions, and client profiles are managed in the context of a test suite. To learn more about a test suite, see Test Center concepts.

  4. Variables and variable groups support. Until now, this feature was available only on UI. Now, you can list, create, update, get, or delete variables using API. To learn more, see Variables.

  5. Access management for test suites is not supported by API v3. To manage access, you need to use Test Center UI.

  6. Comparative testing is not supported by API v3. To run comparative testing, you need to use Test Center UI.

  7. Activities logs, comparison settings, and HTTP headers are not supported by API v3.

  8. Constants format is changed from lower case to upper case:

    • ipVersion values changed from ipv4 and ipv6 to IPV4 and IPV6, respectively.
    • headerAction values changed from add, modify, filter to ADD, MODIFY, and FILTER, respectively.
    • status values changed from in_progress, failed, and completed to IN_PROGRESS, FAILED, and COMPLETED, respectively.
  9. stateful and locked boolean parameter names changed to isStateful and isLocked, respectively.

  10. New response structure for GET requests. The response object contains a list of resources instead of direct list of resources. For example, for the List test suites operation:
    Previous response:

    [
       {
         "testSuiteId":2,
          "testSuiteName":"TS test",
          "…"
       }
    ]
    

    New response:

    {
       "testSuites":[
          {
             "testSuiteId":2,
             "testSuiteName":"TS test",
             "…"
          }
       ]
    }
    
  11. Test cases support GET, POST, and HEAD request methods. This change is also the cause of new required fields for test cases.

  12. In the POST /test-management/v3/test-runs API, configVersionExecutions and requirementexecution are no longer supported. The API accepts a single property name or ID and a version and executes all the associated test suites. The same applies to testSuiteExecutions and testCaseExecution.

  13. In the GET test-management/v3/test-runs API:

    1. The API returns high-level information of a test run with functional object. For detailed information you need to GET /test-management/v3/test-runs/{testRunId}. This is to improve the performance of the API.
    2. To provide more accurate status on the test run, there's a new status of the test run:COMPLETED_WITH_UNEXPECTED_RESULTS. It indicates that some of the run test cases failed to execute or the condition evaluation for some of them is FAILED.
  14. In the clientProfile object, the clientType member is changed to client with values CHROME and CURL. Impacted APIs:

  15. In a test suite object, testCaseCount got renamed to executableTestCaseCount. This change is caused by the Variables group feature.

  16. In the GET /test-management/v3/test-runs/{testRunId} API, the order filed from thetestCaseExecution object is moved to the testCaseContext object.

  17. In the GET /test-management/v3/test-runs/{testRunId} API, you can modify the amount of data received in the response by using appropriate query parameters:

    1. includeContext returns details of a test suite and test cases.
    2. includeSkipped returns objects skipped at the time of the test run submission.
    3. includeAuditInfoInContext returns audit fields for all test objects.
  18. The new resolveVariables query parameter resolves statically assigned and group variables in test cases. You can use it to verify whether test cases are defined correctly before running a test.

  19. Removed the test case uniqueness check while creating test cases under stateful test suites.

  20. In the POST /test-management/v3/test-runs API, testSuiteExecutions under a property and testCaseExecutions under a test suite execution are now optional.

Operations mapping

Despite Test Center API v3 having much less operations, API is much easier to use. Check this list which API v2 operations maps to which operation in API v3.

ObjectAPI v2 operationAPI v3 operation
Requirement- List requirements
- Create a requirement
- Delete a requirement
- Get a requirement
- Update a requirement
- List test suites associated with a requirement
- Associate test suites with a requirement
- Dissociate test suites from a requirement
- Restore a requirement
- List requirements associated with a test suite
The requirement object is no longer supported. Use the test suite's description instead.
Config version- List config versions
- Add a config version
- Delete a config version
- Get a config version
- List test suites associated with a config version
- Associate test suites with a config version
- Dissociate test suites from a config version
- Restore a config version
- List config versions associated with a test suite
List properties in the Property Manager API to get the propertyName and propertyVersion values. These values are necessary to associate test suite to a specific property version.
Test suites- List test suites
- Create a test suite
- Clone test suites
- Delete a test suite
- Get a test suite
- Update a test suite
- List functional test cases included in a test suite
- Include functional test cases in a test suite
- Remove functional test cases from a test suite
- List order of functional test cases in a stateful test suite
- Include ordered functional test cases in a test suite
- Restore a test suite
- Update test cases in a test suite
To manage only a test suite object:
- List test suites
- Create a test suite
- Get a test suite
- Update a test suite
- Delete a test suite
- Restore a test suite

To manage a test suite and child objects:
- Create a test suite with child objects
- Get a test suite with child objects
- Update a test suite with child objects
- Auto generate test suite with child objects
Test suite: manage access- Get access lists of a locked test suite
- Give access to a locked test suite
- Request edit access
- Delete an access list
- Update an access list
- Approve an edit access request
- Reject an edit access request
Access management is not supported by API. To edit the settings, use the Test Center UI.
Functional test cases- List functional test cases
- Create functional test cases
- Clone functional test cases
- Delete a functional test case
- Get a functional test case
- Update a functional test case
- List test suites with a functional test case
- Assign test suites to a functional test case
- Remove test suites from a functional test case
- Restore a functional test case
- List functional test cases
- Create functional test cases
- Update a functional test case
- Get a functional test case
- Delete functional test cases
- Restore functional test cases
- Reorder functional test cases in a test suite
Client profiles- List client profiles
- Get a client profile
- List functional test cases that use a client profile
Client profiles are managed using the functional test cases APIs.
Test requests- List test requests
- Create test requests
- Delete a test request
- Get a test request
- Update a test request
- List functional test cases that use a test request
- Restore a test request
- List test requests
Conditions- List conditions
- Create a condition
- Delete a condition
- Get a condition
- Update a condition
- List functional test cases that use a condition
- Restore a condition
- Get the test catalog template
- List test conditions
Functional testing: ExecutionsGet transaction details for a functional test caseGet test run's detailed results
Comparative testing- List test definitions
- Create a new test definition
- Delete a test definition
- Get a test definition
- Update a test definition
- Clone a test definition
- Remove a test definition
- Restore a test definition
- List comparative test cases included in a test definition
- Create a comparative test case
- Delete a comparative test case
- Get a comparative test case
- Update a comparative test case
- Clone a comparative test case
- Remove a comparative test case
- Restore a comparative test case
Comparative testing is not supported by API. To run the comparative testing, use the Test Center UI.
Comparative testing: executions- List executions
- Get an execution
- List diffs
- Update diffs
- Create notes for a set of diffs
- Get a diff
- Get transaction details for a diff
Comparative testing is not supported by API. To run the comparative testing, use the Test Center UI.
Test runs- List test runs
- Submit a test run
- Get a test run
- Get transaction details for a test run
- List test runs
- Submit a test run
- Get a test run
Activities- List activitiesActivities logs are not supported by API. To see the latest activity in Test Center, use the Test Center UI.
Comparison settings- List comparison listsComparison settings are not supported by API. To check them, use the Test Center UI.
HTTP headers- List HTTP headersHTTP headers are not supported by API.