This project will guide you steps to implement a plugin in Katalon Studio
🔥🔥🔥🔥🔥
Tutorial steps:
- Create sample maven project
- Define pom.xml 😰 (It will include 2 steps before you can develop your first Katalon Plugin)
- Create basic Katalon Studio plugin
- Create advance Katalon Studio plugin with inject tooltips and preference page
Define your initial pom.xml as config below
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>toilatester.vn</groupId>
<artifactId>plugins</artifactId>
<version>0.0.1</version>
<dependencies>
<!-- Katalon Platform dependencies -->
<dependency>
<groupId>com.katalon</groupId>
<artifactId>com.katalon.platform</artifactId>
<version>1.0.12</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<excludes>com/katalon/platform/**,org/eclipse/**,org/osgi/**</excludes>
<includes>**/*.class</includes>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project>
Install dependencies package
Use mvn command with command below:
mvn clean install
Use IDE (Eclipse)
- Right-click to project name
- Hover-mouse to 'Maven' in menu
- Click to "Update Project..."
- Click "OK" button
- ☕
Create plugin package and sample plugin class in project
- Create package org.toilatester.plugin
- Create java class PluginActivationListener.java inside package above
Below is a hierarchy or project:
project-folder
|-src
| |-main
| | |-java
| | | |-org
| | | |-toilatester
| | | |-plugin
| | | |-PluginActivationListener.java
| | |-resources
| | |-plugin.xml
| |-test
| |-java
| | |-org
| | |-toilatester
| | |-plugin
| | |-PluginActivationListener.java
| |-resources
| |-plugin.xml
|-pom.xml
Update pom.xml to bundle and add bundle plugin in the build configuration
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.katalon</groupId>
<artifactId>com.katalon.platform.parent</artifactId>
<version>1.0.12</version>
</parent>
<groupId>toilatester.vn</groupId>
<artifactId>plugins</artifactId>
<version>0.0.1</version>
<packaging>bundle</packaging>
<dependencies>
<dependency>
<groupId>com.katalon</groupId>
<artifactId>com.katalon.platform</artifactId>
<version>1.0.12</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<executions>
<execution>
<id>unpack-dependencies</id>
<phase>prepare-package</phase>
<goals>
<goal>unpack-dependencies</goal>
</goals>
<configuration>
<excludes>com/katalon/platform/**,org/eclipse/**,org/osgi/**</excludes>
<includes>**/*.class</includes>
<outputDirectory>${project.build.outputDirectory}</outputDirectory>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.groupId}.${project.artifactId};singleton:=true</Bundle-SymbolicName>
<Bundle-Version>${project.version}</Bundle-Version>
<Import-Package></Import-Package>
<DynamicImport-Package>*</DynamicImport-Package>
<_noee>true</_noee>
<_nouse>true</_nouse>
<Export-Package>org.toilatester.plugin*</Export-Package>
</instructions>
</configuration>
</plugin>
</plugins>
</build>
</project>
Create plugin.xml in src/main/resources folder