Roy*_*yce 1 groovy katalon-studio
I faced to a problem I don't understand.
I still use int type but code crashed because int is convert to Integer.
Can you explain me what is the problem ? Thanks.
Code
Caller
int excelIndex = 2
String number = CustomKeywords.'getInfo'('test', 'test', 'test', excelIndex)
Run Code Online (Sandbox Code Playgroud)
Callee
@Keyword
public String getInfo(String dataTest, String dataSheet, String columnName, int excelIndex) {
String cellContent = getValueToExcel(dataTest, dataSheet, columnName, excelIndex)
...
return cellContent
}
@Keyword
def getValueFromExcel(String testDataFile, String sheet, String columnName, int rowNumber) {
ExcelData data = initialiseDataDriven(testDataFile, sheet)
return data.getValue(columnName, rowNumber)
}
Run Code Online (Sandbox Code Playgroud)
Error
number = CustomKeywords.getInfo("test", "test", "test", excelIndex) FAILED.
Reason:
org.codehaus.groovy.runtime.InvokerInvocationException: groovy.lang.MissingMethodException: No signature of method: getValueFromExcel is applicable for argument types: (java.lang.String, java.lang.String, java.lang.String, java.lang.Integer) values: [test, test, test, 2]
Possible solutions: getValueFromExcel(java.lang.String, java.lang.String, java.lang.String, int)
Run Code Online (Sandbox Code Playgroud)
您正在getInfo以静态样式调用成员方法
使getInfostatic:
public static String getInfo(String dataTest, String dataSheet, String columnName, int excelIndex) {
Run Code Online (Sandbox Code Playgroud)
或者,创建的实例CustomKeywords,然后调用getInfo它:
int excelIndex = 2
def keywords = new CustomKeywords()
String number = keywords.getInfo('test', 'test', 'test', excelIndex)
Run Code Online (Sandbox Code Playgroud)