Another +1 for this. It’s an open source, easy to use test case management system that has APIs for recording test case automation results.
+1 for this.
That would be just… Awesome !
Issue in integrating testlink in Katalon. Please help us with the steps to integrate it.
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:100)
at
groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:325)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1215)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1024)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:812)
We added all these jar files in external library:
1.xml Rpc .client
2.xml rpc common
3.testlink.api.client 2.0
4.ws.common.util
5.xml.api.1.0.b2
6.testlink.java.api
We have created a keyword as below:
package testlink
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.annotation.Keyword
import com.kms.katalon.core.checkpoint.Checkpoint
import com.kms.katalon.core.checkpoint.CheckpointFactory
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords
import com.kms.katalon.core.model.FailureHandling
import com.kms.katalon.core.testcase.TestCase
import com.kms.katalon.core.testcase.TestCaseFactory
import com.kms.katalon.core.testdata.TestData
import com.kms.katalon.core.testdata.TestDataFactory
import com.kms.katalon.core.testobject.ObjectRepository
import com.kms.katalon.core.testobject.TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords
import internal.GlobalVariable
import testlink.api.java.client.TestLinkAPIClient
import testlink.api.java.client.TestLinkAPIResults
import MobileBuiltInKeywords as Mobile
import WSBuiltInKeywords as WS
import WebUiBuiltInKeywords as WebUI
import org.openqa.selenium.WebElement
import org.openqa.selenium.WebDriver
import org.openqa.selenium.By
import com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory
import com.kms.katalon.core.webui.driver.DriverFactory
import com.kms.katalon.core.testobject.RequestObject
import com.kms.katalon.core.testobject.ResponseObject
import com.kms.katalon.core.testobject.ConditionType
import com.kms.katalon.core.testobject.TestObjectProperty
import com.kms.katalon.core.mobile.helper.MobileElementCommonHelper
import com.kms.katalon.core.util.KeywordUtil
import com.kms.katalon.core.webui.exception.WebElementNotFoundException
import TestLinkAPIClient
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
import TestLinkAPIResults;
class testlinkintegration {
String projectName = “DemoProject”
String planName = “DemoPlan”
String buildName = “DemoBuild”
@Keyword
def updateTestLinkResult(String testCase, String exception, String result) throws testlink.api.java.client.TestLinkAPIException{
TestLinkAPIClient testlinkAPIClient = new TestLinkAPIClient(“http://localhost/testlink-1.9.18/lib/api/xmlrpc/v1/xmlrpc.php","2636fee476d1581e938f520051916a99”);
println(testlinkAPIClient)
testlinkAPIClient.reportTestCaseResult(“DemoProject”, “DemoPlan”, “Demo-1:DemoCase1”,“DemoBuild” , “success”, TestLinkAPIResults.TEST_PASSED)
}
}
Please. Help me to solve the above issue…
Last week I finaly got my TestLink Installation by our IT.
I use Katalon Studio too, so it would byx great if I can use both tools togehter. On my search I found this thread and hope there any updates.
Does it work with the last version of Katalon Studio? Or is there a possibility to execute katalon Studio Tasks by TestLink?
Thanks
We are heading towards building Katalon Platform. We have Slack and Jira integration already, so TestLink integration can be taken into consideration as the next step.
You should suggest plug-in ideas here:
Regards !
Thanks for your quick response.
I have totally forgotten the new feature called Katalon Platform.
I’ll add my suggestion for TestLink integration as plugin.
Thanks.
[Update:] As mentioned here the link to my suggesstion at the plugin section. Katalon Store is coming soon. Feel free to suggest your wanted plugins!
Hello all, that would be Great as testlink is a proven test management tool (which I am succefully using by the way) and as I see on GitHub they are moving towards a front end refactoring introducing a modern, boostraped theme. Integration with it regarding test execution status updates would add more value to your project
Hello there, I finally managed to connect to testlink api yesterday. But the only feature I tested is the one of updating test cases’ status on testlink database every time a test case is executed inside Katalon Studio. It works like a charm. If that is only What you need contact me. I dont have time to collaborate more but I ll try to build a basic plugin on my spare time…
Hi all,
TestLink Integration plugin is now available in Katalon Store.
For more details, refer to this documentation for the plugin.
Cheers,
Katalon Store Team
looks like it not working…
Hi, can you show me how? thanks
Hello to all!!
I m sorry for being so late, I almost forgot it. It s now a month ago since I posted on my GitHub repo the code needed (A java class) for the Katalon event listener to work with Testlink. It s 100% working since you have all the dependencies in place.
To get the code visit :
If you have any further queries let me know.
Cheers
Thanks, I’ll test it when I have too time for it
Getting error - org.codehaus.groovy.runtime.InvokerInvocationException: testlink.api.java.client.TestLinkAPIException: The call to the xml-rpc client failed.
While updating status from katalon to testlink.
I have created the following test listener-
import static com.kms.katalon.core.checkpoint.CheckpointFactory.findCheckpoint
import static com.kms.katalon.core.testcase.TestCaseFactory.findTestCase
import static com.kms.katalon.core.testdata.TestDataFactory.findTestData
import static com.kms.katalon.core.testobject.ObjectRepository.findTestObject
import com.kms.katalon.core.checkpoint.Checkpoint as Checkpoint
import com.kms.katalon.core.model.FailureHandling as FailureHandling
import com.kms.katalon.core.testcase.TestCase as TestCase
import com.kms.katalon.core.testdata.TestData as TestData
import com.kms.katalon.core.testobject.TestObject as TestObject
import com.kms.katalon.core.webservice.keyword.WSBuiltInKeywords as WS
import com.kms.katalon.core.webui.keyword.WebUiBuiltInKeywords as WebUI
import com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords as Mobile
import internal.GlobalVariable as GlobalVariable
import com.kms.katalon.core.annotation.BeforeTestCase
import com.kms.katalon.core.annotation.BeforeTestSuite
import com.kms.katalon.core.annotation.AfterTestCase
import com.kms.katalon.core.annotation.AfterTestSuite
import com.kms.katalon.core.context.TestCaseContext
import com.kms.katalon.core.context.TestSuiteContext
import testlink.api.java.client.TestLinkAPIClient as TestLinkAPIClient
import testlink.api.java.client.TestLinkAPIException as TestLinkAPIException
import testlink.api.java.client.TestLinkAPIResults as TestLinkAPIResults
import org.apache.xmlrpc.client.XmlRpcClient;
import org.apache.xmlrpc.client.XmlRpcClientConfigImpl;
import java.util.concurrent.atomic.AtomicInteger
import com.kms.katalon.core.cucumber.keyword.CucumberBuiltinKeywords as CucumberKW
import com.kms.katalon.core.annotation.Keyword
@Keyword
public class NewTestListener {
public static DEVKEY ="";
public static String URL="";
@BeforeTestCase
def sampleBeforeTestCase(TestCaseContext testCaseContext) {
println testCaseContext.getTestCaseId();
println testCaseContext.getTestCaseVariables();
}
String testProject="";
String testPlan="";
String testCase="";
String build="";
String notes=null;
public static void reportResult(String TestProject,String TestPlan,String Testcase,String Build,String Notes,String Result) throws TestLinkAPIException{
TestLinkAPIClient api=new TestLinkAPIClient(DEVKEY, URL);
api.reportTestCaseResult(TestProject, TestPlan, Testcase, Build, Notes, Result);
}
@AfterTestCase
def afterTestcase(TestCaseContext testCaseContext) {
def result = (testCaseContext.getTestCaseStatus() == 'FAILED') ? TestLinkAPIResults.TEST_FAILED : TestLinkAPIResults.TEST_PASSED;
reportResult(testProject, testPlan, testCase, build, notes, result);
println(result)
}
}
I have added following jar files-
asm-3.3.1, cglib-2.2, commons-logging-1.0.3, junit-3.8.1, testlink-2.0.1, testlink-api-client-2.0, testlink-java-api-1.9.16-1, ws-commons-util-1.0.2, xml-apis-1.0.b2, xmlrpc-client-3.1.3, xmlrpc-common-3.1.3
In test case i have used custom keyword:
CustomKeywords.‘com.kms.katalon.keyword.testlink.TestlinkKeywords.updateResults’
Is there anything I have left?
Thank you kechrimparis
Now I had time
And it works, after a few tries.
My problem was:
-
external jars:
org-apache-ws-commons-util.jar
testlink-2.0.1.jar
testlink-api-client-2.0.jar
xml-apis-1.3.02.jar
xmlrpc-client-3.0.jar
xmlrpc-common-3.1.3.jar
xmpbox-2.0.15.jar -
Katalon Studio TestCase setup:
I got an error, when my TestCase was stored in a folder. If the TestCase is created directly under “Test Cases” the Listener works without an error.
I know of the TestLink Plugin, but I had to solve the problem by this way.
I solved my issue of using folder structure in the Katalon Studio TestCase Section by editing the TestCase name in TestLink to “folderName/TestCaseName”
e.g.
Generell/Login
Katalon Studio:
TestLink:
Hope it helps someone else too
I m sure it will Help some people. Thank you for your nice contribution as well.