I am fetching a value from website and storing it in a variable and then trying to write it back to excel, however i am facing error with below message, unable to figure out what is the exact problem…need urgent help. The value is fetched properly in the variable defined though. I am using version 5.10.1.
Test Cases/Trial FAILED.
Reason:
java.lang.NullPointerException: Cannot invoke method getRow() on null object
at com.excel.MyExcel_Update.main(MyExcel_Update.groovy:41)
at com.excel.MyExcel_Update.invokeMethod(MyExcel_Update.groovy)
at com.kms.katalon.core.main.CustomKeywordDelegatingMetaClass.invokeStaticMethod(CustomKeywordDelegatingMetaClass.java:49)
at Raise_POS_Order.run(Raise_POS_Order:59)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:319)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:298)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:290)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:224)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:106)
at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$_callTestCase_closure1.doCall(CallTestCaseKeyword.groovy:59)
at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword$_callTestCase_closure1.call(CallTestCaseKeyword.groovy)
at com.kms.katalon.core.keyword.internal.KeywordMain.runKeyword(KeywordMain.groovy:54)
at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword.callTestCase(CallTestCaseKeyword.groovy:80)
at com.kms.katalon.core.keyword.builtin.CallTestCaseKeyword.execute(CallTestCaseKeyword.groovy:44)
at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:53)
at com.kms.katalon.core.keyword.BuiltinKeywords.callTestCase(BuiltinKeywords.groovy:334)
at Trial.run(Trial:18)
at com.kms.katalon.core.main.ScriptEngine.run(ScriptEngine.java:194)
at com.kms.katalon.core.main.ScriptEngine.runScriptAsRawText(ScriptEngine.java:119)
at com.kms.katalon.core.main.TestCaseExecutor.runScript(TestCaseExecutor.java:328)
at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:319)
at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:298)
at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:290)
at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:224)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:106)
at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:97)
at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source)
at TempTestCase1548413530722.run(TempTestCase1548413530722.groovy:22)
I am using the below custom keyword:
This particular piece of code was working fine for me in version 5.4.1 while writing the value back to excel. Don’t know why it is not working with 5.10.1
@Keyword
public static void main(String excelPath,String sheetName,String value,int rowNo,int colNo) throws IOException {
FileInputStream fis = new FileInputStream(new File(excelPath))
XSSFWorkbook workbook = new XSSFWorkbook (fis)
XSSFSheet sheet = workbook.getSheet(sheetName)
XSSFRow arow = sheet.getRow(rowNo)
XSSFCell bcell = arow.getCell(colNo)
bcell.setCellValue(value)
fis.close()
FileOutputStream fos =new FileOutputStream(new File(excelPath))
workbook.write(fos)
fos.close()
System.out.println(“Done”)
}
}