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.