Suggestion: To Add Integration with (TestLink) Test Case Management

staff-20

#1

Hello There,
Would you please add Integration with TestLink. This is a test case management system that has APIs for recording test case automation results.

Where to install (TestLink)


or

Testlink Documents

Testlink User Manual
https://github.com/TestLinkOpenSourceTRMS/testlink-code/blob/testlink_1_9/docs/testlink_user_manual.pdf

How to Update TestLink Test Case Execution Status Remotely Through Selenium


#2

+1 for this.


#3

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.


#4

+1 for this.


#5

That would be just… Awesome !


#6

Issue in integrating testlink in Katalon. Please help us with the steps to integrate it.


#7
 \[ERROR\] - Test Cases/Humingo FAILED because (of) (Stack trace: org.codehaus.groovy.runtime.InvokerInvocationException: testlink.api.java.client.TestLinkAPIException: Unable to create a XML-RPC client.

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…


#8

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


#9

Hi @Andreas_Voit

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 !


Katalon Store is coming soon. Feel free to suggest your wanted plugins!
#10

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!


#11

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


#12

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…


#13

Hi all,

TestLink Integration plugin is now available in Katalon Store.

Install here

For more details, refer to this documentation for the plugin.

Cheers,
Katalon Store Team


#14

looks like it not working…


#15

Hi, can you show me how? thanks


#16

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


#17

Thanks, I’ll test it when I have too time for it :wink:


#18

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?