Facing java.io.FileNotFoundException when run katalon CLI

I run Katalon CLI as below

/Katalon/katalon.exe -noSplash -runMode=“console” -retry=0 -testSuiteCollectionPath=“Test Suites\Collection2” -projectPath=“/Test_Automation/UI/GUIAutomation.prj” -browserType=“Chrome” -retryFailedTestCases=False -consoleLog

But I always get exceptions as below. Any hints?

Project ‘GUIAutomation’ opened
com.kms.katalon.execution.exception.ExecutionException: com.kms.katalon.dal.exception.DALException: javax.xml.bind.MarshalException

  • with linked exception:
    [java.io.FileNotFoundException: 20181210_190444\20181210_190444.rp (The system cannot find the path specified)]
    at com.kms.katalon.execution.launcher.TestSuiteCollectionConsoleLauncher.newInstance(TestSuiteCollectionConsoleLauncher.java:58)
    at com.kms.katalon.execution.console.entity.TestSuiteCollectionLauncherOptionParser.getConsoleLauncher(TestSuiteCollectionLauncherOptionParser.java:51)
    at com.kms.katalon.execution.console.ConsoleExecutor.execute(ConsoleExecutor.java:72)
    at com.kms.katalon.execution.console.ConsoleMain.launch(ConsoleMain.java:94)
    at com.kms.katalon.console.application.Application.runConsole(Application.java:76)
    at com.kms.katalon.core.application.Application.runConsole(Application.java:72)
    at com.kms.katalon.core.application.Application.start(Application.java:56)
    at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:134)
    at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:104)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:388)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:243)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:673)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.java:610)
    at org.eclipse.equinox.launcher.Main.run(Main.java:1519)
    Caused by: com.kms.katalon.dal.exception.DALException: javax.xml.bind.MarshalException
  • with linked exception:
    [java.io.FileNotFoundException: 20181210_190444\20181210_190444.rp (The system cannot find the path specified)]
    at com.kms.katalon.dal.fileservice.dataprovider.ReportFileServiceDataProvider.updateReportCollectionEntity(ReportFileServiceDataProvider.java:188)
    at com.kms.katalon.controller.ReportController.updateReportCollection(ReportController.java:176)
    at com.kms.katalon.execution.launcher.TestSuiteCollectionConsoleLauncher.newInstance(TestSuiteCollectionConsoleLauncher.java:55)
    … 18 more
    Caused by: javax.xml.bind.MarshalException
  • with linked exception:
    [java.io.FileNotFoundException: 20181210_190444\20181210_190444.rp (The system cannot find the path specified)]
    at org.eclipse.persistence.jaxb.JAXBMarshaller.marshal(JAXBMarshaller.java:416)
    at com.kms.katalon.dal.fileservice.EntityService.saveEntity(EntityService.java:231)
    at com.kms.katalon.dal.fileservice.dataprovider.ReportFileServiceDataProvider.updateReportCollectionEntity(ReportFileServiceDataProvider.java:186)
    … 20 more
    Caused by: java.io.FileNotFoundException: 20181210_190444\20181210_190444.rp (The system cannot find the path specified)
    at java.io.FileOutputStream.open0(Native Method)
    at java.io.FileOutputStream.open(FileOutputStream.java:270)
    at java.io.FileOutputStream.(FileOutputStream.java:213)
    at java.io.FileOutputStream.(FileOutputStream.java:162)
    at org.eclipse.persistence.jaxb.JAXBMarshaller.marshal(JAXBMarshaller.java:409)
    … 22 more

What was the current working directory? You can get it using the command pwd.

I found the problem. I run Katalon CLI on Windows. It works if I change to -projectPath=“C:\Test_Automation\UI\GUIAutomation.prj”. But the UNIX style path works for CLI below to run test suite instead of test suite collection
/Katalon/katalon.exe -noSplash -runMode=“console” -retry=0 -testSuitePath=“Test Suites\2” -projectPath="/Test_Automation/UI/GUIAutomation.prj" -browserType=“Chrome” -retryFailedTestCases=False -consoleLog

It seems there is some inconsistency in path style support of Katalon’s internal implementation.

Thank you for the information. The projectPath is a file system path for Katalon to open the project, and the use of / or \ is dictated by the OS. Other paths are actually IDs (which are unfortunately called “path”) of elements inside that project and the use of / is required.