Skip to main content

Example plugin: Build Katalon Studio TestRail Integration plugin

This document shows you the way to implement Katalon Studio TestRail integration plugin. All functions are implemented using extension point, which are declared in plugin.xml. You can see plugin’s activities by selecting the tab Event Log (next to Console):

TestRail Integration

The source code is made available here on our GitHub repository for reference:

Katalon Studio TestRail plugin

This document is not about how to use the plugin. Visit TestRail integration document if you need help.

Setting page in Katalon Studio



Add an icon to the toolbar

<extension
point="com.katalon.platform.extensions">
<point
id="com.katalon.plugin.testrail.TestRailToolItemDescription"
extensionPointId="com.katalon.platform.api.extension.newToolItem"
implementationClass="com.katalon.plugin.testrail.TestRailToolItemDescription">
</point>
</extension>

For implementation, see class com.katalon.plugin.testrail.TestRailToolItemDescription.

Add a setting page

<extension
point="com.katalon.platform.extensions">
<point
id="com.katalon.plugin.testrail.TestRailPluginPreferencePage"
extensionPointId="com.katalon.platform.api.extension.pluginPreferencePage"
implementationClass="com.katalon.plugin.testrail.TestRailPluginPreferencePage">
</point>
</extension>

For implementation, see classes com.katalon.plugin.testrail.TestRailPluginPreferencePage and com.katalon.plugin.testrail.TestRailPreferencePage.

Settings are saved per project.



<extension
point="com.katalon.platform.extensions">
<point
id="com.katalon.plugin.testrail.TestRailTestCaseIntegrationPage"
extensionPointId="com.katalon.platform.api.extension.testCaseIntegrationViewDescription"
implementationClass="com.katalon.plugin.testrail.TestRailTestCaseIntegrationViewDescription">
</point>
</extension>

For implementation, see classes com.katalon.plugin.testrail.TestRailTestCaseIntegrationViewDescription and com.katalon.plugin.testrail.TestRailTestCaseIntegrationView.

Execute Test Cases selectively based on TestRail settings



<extension
point="com.katalon.platform.extensions">
<point
id="com.katalon.plugin.dynamic_execution.TestRailFilteringTestSuiteImpl"
extensionPointId="com.katalon.platform.api.extension.dynamicQueryingTestSuiteDescription"
implementationClass="com.katalon.plugin.testrail.TestRailQueryingTestSuite">
</point>
</extension>

For implementation, see class com.katalon.plugin.testrail.TestRailQueryingTestSuite.

Sending result to TestRail



<extension
point="com.katalon.platform.extensions">
<point
id="com.katalon.plugin.testrail.TestRailEventListenerInitializer"
extensionPointId="com.katalon.platform.api.extension.eventListener"
implementationClass="com.katalon.plugin.testrail.TestRailEventListenerInitializer">
</point>
</extension>

For implementation, see class com.katalon.plugin.testrail.TestRailEventListenerInitializer.

TestRail SDK

You can also refer to TestRail document: Bindings Java.