...
Overview
Here are described the steps to connect TestRail with write karate integration tests.
Steps
...
Project Setup
If you want to create module from scratch then create you maven module within folio-integration-tests folder like acquisitions (See also pom.xml file from folio-integration-tests/acquisitions/pom.xml for example)
- Create JUnit test file folio-integration-tests/<YourProject>/src/test/java/org/folio/<YourTestFileName>.java
- Project should have karate configuration file (See acquisitions/src/main/resources/karate-config.js)
- Extend your Test with TestBase
- Create constructor with TestModuleConfiguration and specify TEST_BASE_PATH (see FinanceApiTest for example)
Code Block | ||
---|---|---|
|
...
public |
...
FinanceApiTest() |
...
{ |
...
|
...
super(new |
...
TestIntegrationService( |
...
|
...
|
...
new |
...
TestModuleConfiguration( |
...
TEST_BASE_PATH))); |
...
}
|
...
- Add an test method with runFeatureTest where parameter is your karate feature file with test logic
Code Block | ||
---|---|---|
| ||
@Test
|
...
void |
...
deleteOpenedOrderAndOrderLines() { |
...
runFeatureTest(" |
...
delete-opened-order-and-lines.feature"); |
...
} |
...
Add constructor with your own configuration see FinanceApiTest
...
Add test method that will run your feature file like budget-expense-classes via runFeatureTest method that located in order to FINANCE_CONFIGURATION see budgetExpenseClasses
...
- Add two setup mehtods methods into your test file like financeApiTestBeforeAll (to setup tenant, users and setup data for module run) and financeApiTestAfterAll (to destroy tenant and all related data for module run)Note:
Note |
---|
finance-junit.feature and destroy-data.feature should contain logic to setup and |
...
destroy data for tenant. (See examples acquisitions/src/main/resources/domain/mod-finance/finance-junit.feature and common/src/main/resources/common/destroy-data.feature) |
Code Block | ||||
---|---|---|---|---|
| ||||
@BeforeAll public void financeApiTestBeforeAll() { runFeature("classpath:domain/mod-finance/finance-junit.feature"); } @AfterAll public void financeApiTestAfterAll() { runFeature("classpath:common/destroy-data.feature"); } |
Configuration
For interaction with TestRail we need to Configure our test in constructor with your own configuration. Example:
Code Block | ||||
---|---|---|---|---|
| ||||
public FinanceApiTest() { super(new TestRailIntegrationHelper(FINANCE_CONFIGURATION)); } |
Finance Configuration use next data for configuration
...
To get suite id and section id you can use postman collection Test Rail.postman_collection.json (Note: Update Authorization with basic Auth and your credentials)
Run
...
integration test
Code Block | ||||
---|---|---|---|---|
| ||||
mvn test -Dtest=FinanceApiTest -pl acquisitions -Dtestrail_url=https://foliotest.testrail.io -Dtestrail_userId=<your_user_id> -Dtestrail_pwd=<password> -Dtestrail_projectId=<test_rail_project_id> |
Where you populate your out values like <your_user_id>, <password>, <test_rail_project_id> and instead of "-pl acquisitions" argument you should use your own project name.