We're using Qase.io as TMS to keep test cases and accumulate test runs. Integration is set up through API using qase-api and qase-testng libraries.
To set up integration locally add next VM option -DQASEIO_API_TOKEN='%s'
(add your Qase token instead of '%s') into your run configuration
All new test cases can be added into TMS by default if they have no QaseId and QaseTitle matching already existing
cases.
But to handle @Suite
and @Automation
we added custom QaseCreateListener. To create new test case for next sync with
Qase (see example kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/qaseSuite/Template.java
):
kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/qaseSuite/suit
kafka-ui-e2e-checks/src/test/java/com/provectus/kafka/ui/qaseSuite/BaseQaseTest.java
@Automation
(optional - Not automated by default) - to set one of automation states: NOT_AUTOMATED, TO_BE_AUTOMATED,
AUTOMATED@QaseTitle
(required) - to set title for new test case and to check is there no existing cases with same title in
Qase.io@Status
(optional - Draft by default) - to set one of case statuses: ACTUAL, DRAFT, DEPRECATED@Suite
(optional) - to store new case in some existing package need to set its id, otherwise case will be stored in
the root@Test
(required) - annotation from TestNG to specify this method as testTo handle manual test cases with status Skipped
we added custom QaseResultListener. To create new test run:
@QaseId
Automation CUSTOM suite
Skipped
status in test runs to perform them manually