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:
-
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.
-
Config version becomes Property version.
-
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.
-
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.
-
Access management for test suites is not supported by API v3. To manage access, you need to use Test Center UI.
-
Comparative testing is not supported by API v3. To run comparative testing, you need to use Test Center UI.
-
Activities logs, comparison settings, and HTTP headers are not supported by API v3.
-
Constants format is changed from lower case to upper case:
ipVersion
values changed fromipv4
andipv6
toIPV4
andIPV6
, respectively.headerAction
values changed fromadd
,modify
,filter
toADD
,MODIFY
, andFILTER
, respectively.status
values changed fromin_progress
,failed
, andcompleted
toIN_PROGRESS
,FAILED
, andCOMPLETED
, respectively.
-
stateful
andlocked
boolean parameter names changed toisStateful
andisLocked
, respectively. -
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", "…" } ] }
-
Test cases support
GET
,POST
, andHEAD
request methods. This change is also the cause of new required fields for test cases. -
In the POST /test-management/v3/test-runs API,
configVersionExecutions
andrequirementexecution
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 totestSuiteExecutions
andtestCaseExecution
. -
In the GET test-management/v3/test-runs API:
- 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.
- 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 isFAILED
.
-
In the
clientProfile
object, theclientType
member is changed toclient
with valuesCHROME
andCURL
. Impacted APIs:- POST /test-management/v3/functional/test-suites/with-child-objects
- GET /test-management/v3/functional/test-suites/{testSuiteId}/with-child-objects
- PUT /test-management/v3/functional/test-suites/{testSuiteId}/with-child-objects
- POST /test-management/v3/functional/test-suites/auto-generate
- GET /test-management/v3/functional/test-suites/{testSuiteId}/test-cases
- POST /test-management/v3/functional/test-suites/{testSuiteId}/test-cases
- PUT /test-management/v3/functional/test-suites/{testSuiteId}/test-cases
- GET /test-management/v3/functional/test-suites/{testSuiteId}/test-cases/{testCaseId}
- POST /test-management/v3/functional/test-suites/{testSuiteId}/test-cases/remove
- POST /test-management/v3/functional/test-suites/{testSuiteId}/test-cases/restore
-
In a test suite object,
testCaseCount
got renamed toexecutableTestCaseCount
. This change is caused by the Variables group feature. -
In the GET /test-management/v3/test-runs/{testRunId} API, the
order
filed from thetestCaseExecution
object is moved to thetestCaseContext
object. -
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:
includeContext
returns details of a test suite and test cases.includeSkipped
returns objects skipped at the time of the test run submission.includeAuditInfoInContext
returns audit fields for all test objects.
-
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. -
Removed the test case uniqueness check while creating test cases under stateful test suites.
-
In the POST /test-management/v3/test-runs API,
testSuiteExecutions
under a property andtestCaseExecutions
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.
Object | API v2 operation | API 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: Executions | Get transaction details for a functional test case | Get 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 activities | Activities logs are not supported by API. To see the latest activity in Test Center, use the Test Center UI. |
Comparison settings | - List comparison lists | Comparison settings are not supported by API. To check them, use the Test Center UI. |
HTTP headers | - List HTTP headers | HTTP headers are not supported by API. |