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, submission 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:
ipVersionvalues changed fromipv4andipv6toIPV4andIPV6, respectively.headerActionvalues changed fromadd,modify,filtertoADD,MODIFY, andFILTER, respectively.statusvalues changed fromin_progress,failed, andcompletedtoIN_PROGRESS,FAILED, andCOMPLETED, respectively.
-
statefulandlockedboolean parameter names changed toisStatefulandisLocked, 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, andHEADrequest methods. This change is also the cause of new required fields for test cases. -
In the POST /test-management/v3/test-runs API,
configVersionExecutionsandrequirementexecutionare 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 totestSuiteExecutionsandtestCaseExecution. -
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
clientProfileobject, theclientTypemember is changed toclientwith valuesCHROMEandCURL. 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,
testCaseCountgot renamed toexecutableTestCaseCount. This change is caused by the Variables group feature. -
In the GET /test-management/v3/test-runs/{testRunId} API, the
orderfiled from thetestCaseExecutionobject is moved to thetestCaseContextobject. -
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:
includeContextreturns details of a test suite and test cases.includeSkippedreturns objects skipped at the time of the test run submission.includeAuditInfoInContextreturns audit fields for all test objects.
-
The new
resolveVariablesquery 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,
testSuiteExecutionsunder a property andtestCaseExecutionsunder 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 |
| The requirement object is no longer supported. Use the test suite's description instead. |
| Config version |
| 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 |
| To manage only a test suite object:
|
| Test suite: manage access |
| Access management is not supported by API. To edit the settings, use the Test Center UI. |
| Functional test cases |
| |
| Client profiles |
| Client profiles are managed using the functional test cases APIs. |
| Test requests |
| |
| Conditions |
| |
| Functional testing: Executions | Get transaction details for a functional test case | Get test run's detailed results |
| Comparative testing |
| Comparative testing is not supported by API. To run the comparative testing, use the Test Center UI. |
| Comparative testing: executions |
| Comparative testing is not supported by API. To run the comparative testing, use the Test Center UI. |
| Test runs |
| |
| Activities |
| Activities logs are not supported by API. To see the latest activity in Test Center, use the Test Center UI. |
| Comparison settings |
| Comparison settings are not supported by API. To check them, use the Test Center UI. |
| HTTP headers |
| HTTP headers are not supported by API. |
