RerunKeyword.isStringBelongToList

Hello,
when I run the individual features, everything is ok.
when I run the iOS test suite I get this error:

No signature of method: static CustomKeywords.com.kms.katalon.keyword.testsuite.RerunKeyword.isStringBelongToList () is applicable for argument type

if from the test suite I delete the only test that uses the custom keyword, everything works

this is the custom k.

package random
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 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


public class randomEmail {
	/**
	 * Check if element present in timeout
	 * @param to Katalon test object
	 * @param timeout time to wait for element to show up
	 * @return true if element present, otherwise false
	 */
	@Keyword
	public String getEmail(String suffix, String prefix){
		int randomNo = (int)(Math.random() * 1000);
		return suffix + randomNo + "@" + prefix;
	}
}

thanks to all!

@Chris_Trevarthen

01-16-2020 04:17:29 PM executeRows

Elapsed time: 0,505s

org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: No signature of method: static CustomKeywords.com.kms.katalon.keyword.testsuite.RerunKeyword.isStringBelongToList() is applicable for argument types: (java.lang.String, java.util.ArrayList) values: [Test Cases/feature test/carrier/01-iOS - Carrier - login, []]

at TestListener.invokeMethod(TestListener.groovy)

at com.kms.katalon.core.context.internal.TestHooker.invokeMethod(TestHooker.java:111)

at com.kms.katalon.core.context.internal.TestHooker.lambda$3(TestHooker.java:95)

at com.kms.katalon.core.context.internal.TestHooker.invokeContextMethods(TestHooker.java:94)

at com.kms.katalon.core.context.internal.TestListenerCollector.lambda$3(TestListenerCollector.java:88)

at com.kms.katalon.core.context.internal.TestListenerCollector.handleListenerEvent(TestListenerCollector.java:85)

at com.kms.katalon.core.context.internal.ExecutionEventManager.publicEvent(ExecutionEventManager.java:36)

at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:219)

at com.kms.katalon.core.main.TestSuiteExecutor.accessTestCaseMainPhase(TestSuiteExecutor.java:169)

at com.kms.katalon.core.main.TestSuiteExecutor.accessTestSuiteMainPhase(TestSuiteExecutor.java:142)

at com.kms.katalon.core.main.TestSuiteExecutor.execute(TestSuiteExecutor.java:91)

at com.kms.katalon.core.main.TestCaseMain.startTestSuite(TestCaseMain.java:157)

at com.kms.katalon.core.main.TestCaseMain$startTestSuite$0.call(Unknown Source)

at TempTestSuite1579187841448.run(TempTestSuite1579187841448.groovy:36)

Caused by: groovy.lang.MissingMethodException: No signature of method: static CustomKeywords.com.kms.katalon.keyword.testsuite.RerunKeyword.isStringBelongToList() is applicable for argument types: (java.lang.String, java.util.ArrayList) values: [Test Cases/feature test/carrier/01-iOS - Carrier - login, []]

at TestListener.executeRows(TestListener.groovy:85)

... 14 more

Hi @fap,

That’s a weird error. It seems like it’s trying to use a keyword called RerunKeyword that I don’t see referenced in your keyword file. Do you have any reference in your test suite or test classes to isStringBelongToList() or RerunKeyword?

Any chance you an share the test suite script (using the Script tab of the Test Suite editor)?

– Chris

Hi @Chris_Trevarthen,
no trace of “rerunakeyword”, but by debugging I discovered that in a script, due to the reused code, there were unnecessary parameters. I have eliminated those parameters, now everything works correctly

thank you very much! :slight_smile:

1 Like