Unable to start application in android devices

please solve this error, unable to start application in mobile devices

1 Like

Kindly post the error trace in a formatted way for better readability instead of image

from above, appium driver compatibility issue. kindly upgrade your KS version along with appium drivers

halo dineshh, my KS latest version and appium latest version. Currently, I am still experiencing the same error.

2025-07-10 13:40:33.843 ERROR c.k.k.core.keyword.internal.KeywordMain - :cross_mark: Unable to start application: ‘/Users/irfanmaulana/Downloads/app-uat-cakra-v5.3.6-rc3-173-300625.apk’ (Root cause: com.kms.katalon.core.exception.StepFailedException: Unable to start application: ‘/Users/irfanmaulana/Downloads/app-uat-cakra-v5.3.6-rc3-173-300625.apk’

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.stepFailed(MobileKeywordMain.groovy:65)

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:34)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.startApplication(StartApplicationKeyword.groovy:91)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.execute(StartApplicationKeyword.groovy:48)

at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:64)

at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.startApplication(MobileBuiltInKeywords.groovy:50)

at scn01.run(scn01:24)

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:485)

at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:476)

at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:455)

at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:447)

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

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)

at TempTestCase1752129629317.run(TempTestCase1752129629317.groovy:25)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: The application at ‘/Users/irfanmaulana/Downloads/app-uat-cakra-v5.3.6-rc3-173-300625.apk’ does not exist or is not accessible

Host info: host: ‘MDTMAC688823958.local’, ip: ‘fe80:0:0:0:99:40ee:7d12:794e%en0’

Build info: version: ‘4.28.1’, revision: ‘73f5ad48a2’

System info: os.name: ‘Mac OS X’, os.arch: ‘aarch64’, os.version: ‘14.7.4’, java.version: ‘17.0.14’

Driver info: io.appium.java_client.android.AndroidDriver

Command: [null, newSession {capabilities=[Capabilities {appium:app: /Users/irfanmaulana/Downloa…, appium:autoGrantPermissions: true, appium:automationName: uiautomator2, appium:deviceId: 2419d054921c7ece, appium:deviceName: samsung SM-N960F (Android 10), appium:fullReset: true, appium:newCommandTimeout: 1800, appium:noReset: false, appium:platformName: ANDROID, appium:platformVersion: 10, appium:systemPort: 61022, appium:udid: 2419d054921c7ece, platformName: ANDROID}]}]

Capabilities {appium:app: /Users/irfanmaulana/Downloa…, appium:autoGrantPermissions: true, appium:automationName: uiautomator2, appium:deviceId: 2419d054921c7ece, appium:deviceName: samsung SM-N960F (Android 10), appium:fullReset: true, appium:newCommandTimeout: 1800, appium:noReset: false, appium:platformName: ANDROID, appium:platformVersion: 10, appium:systemPort: 61022, appium:udid: 2419d054921c7ece, platformName: ANDROID}

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:114)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:75)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:61)

at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:176)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:237)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)

at io.appium.java_client.AppiumDriver.startSession(AppiumDriver.java:270)

at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:174)

at io.appium.java_client.AppiumDriver.(AppiumDriver.java:91)

at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:99)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:574)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:551)

at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startLocalMobileDriver(MobileDriverFactory.java:604)

at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startMobileDriver(MobileDriverFactory.java:511)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.doCall(StartApplicationKeyword.groovy:89)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.call(StartApplicationKeyword.groovy)

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:30)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.startApplication(StartApplicationKeyword.groovy:91)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.execute(StartApplicationKeyword.groovy:48)

at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:64)

at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.startApplication(MobileBuiltInKeywords.groovy:50)

at Script1750826449136.run(Script1750826449136.groovy:24)

… 13 more

)

2025-07-10 13:40:33.846 ERROR c.k.katalon.core.main.TestCaseExecutor - :cross_mark: Test Cases/Test/scn01 FAILED.

Reason:

com.kms.katalon.core.exception.StepFailedException: Unable to start application: ‘/Users/irfanmaulana/Downloads/app-uat-cakra-v5.3.6-rc3-173-300625.apk’

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.stepFailed(MobileKeywordMain.groovy:65)

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:34)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.startApplication(StartApplicationKeyword.groovy:91)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.execute(StartApplicationKeyword.groovy:48)

at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:64)

at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.startApplication(MobileBuiltInKeywords.groovy:50)

at scn01.run(scn01:24)

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:485)

at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:476)

at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:455)

at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:447)

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

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)

at TempTestCase1752129629317.run(TempTestCase1752129629317.groovy:25)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: The application at ‘/Users/irfanmaulana/Downloads/app-uat-cakra-v5.3.6-rc3-173-300625.apk’ does not exist or is not accessible

Host info: host: ‘MDTMAC688823958.local’, ip: ‘fe80:0:0:0:99:40ee:7d12:794e%en0’

Build info: version: ‘4.28.1’, revision: ‘73f5ad48a2’

System info: os.name: ‘Mac OS X’, os.arch: ‘aarch64’, os.version: ‘14.7.4’, java.version: ‘17.0.14’

Driver info: io.appium.java_client.android.AndroidDriver

Command: [null, newSession {capabilities=[Capabilities {appium:app: /Users/irfanmaulana/Downloa…, appium:autoGrantPermissions: true, appium:automationName: uiautomator2, appium:deviceId: 2419d054921c7ece, appium:deviceName: samsung SM-N960F (Android 10), appium:fullReset: true, appium:newCommandTimeout: 1800, appium:noReset: false, appium:platformName: ANDROID, appium:platformVersion: 10, appium:systemPort: 61022, appium:udid: 2419d054921c7ece, platformName: ANDROID}]}]

Capabilities {appium:app: /Users/irfanmaulana/Downloa…, appium:autoGrantPermissions: true, appium:automationName: uiautomator2, appium:deviceId: 2419d054921c7ece, appium:deviceName: samsung SM-N960F (Android 10), appium:fullReset: true, appium:newCommandTimeout: 1800, appium:noReset: false, appium:platformName: ANDROID, appium:platformVersion: 10, appium:systemPort: 61022, appium:udid: 2419d054921c7ece, platformName: ANDROID}

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:114)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:75)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:61)

at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:176)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:237)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)

at io.appium.java_client.AppiumDriver.startSession(AppiumDriver.java:270)

at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:174)

at io.appium.java_client.AppiumDriver.(AppiumDriver.java:91)

at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:99)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:574)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:551)

at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startLocalMobileDriver(MobileDriverFactory.java:604)

at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startMobileDriver(MobileDriverFactory.java:511)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.doCall(StartApplicationKeyword.groovy:89)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.call(StartApplicationKeyword.groovy)

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:30)

… 18 more


at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.stepFailed(MobileKeywordMain.groovy:65)

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:34)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.startApplication(StartApplicationKeyword.groovy:91)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.execute(StartApplicationKeyword.groovy:48)

at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:64)

at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.startApplication(MobileBuiltInKeywords.groovy:50)

at scn01.run(scn01:24)

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:485)

at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:476)

at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:455)

at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:447)

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

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)

at TempTestCase1752129629317.run(TempTestCase1752129629317.groovy:25)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: The application at ‘/Users/irfanmaulana/Downloads/app-uat-cakra-v5.3.6-rc3-173-300625.apk’ does not exist or is not accessible

Host info: host: ‘MDTMAC688823958.local’, ip: ‘fe80:0:0:0:99:40ee:7d12:794e%en0’

Build info: version: ‘4.28.1’, revision: ‘73f5ad48a2’

System info: os.name: ‘Mac OS X’, os.arch: ‘aarch64’, os.version: ‘14.7.4’, java.version: ‘17.0.14’

Driver info: io.appium.java_client.android.AndroidDriver

Command: [null, newSession {capabilities=[Capabilities {appium:app: /Users/irfanmaulana/Downloa…, appium:autoGrantPermissions: true, appium:automationName: uiautomator2, appium:deviceId: 2419d054921c7ece, appium:deviceName: samsung SM-N960F (Android 10), appium:fullReset: true, appium:newCommandTimeout: 1800, appium:noReset: false, appium:platformName: ANDROID, appium:platformVersion: 10, appium:systemPort: 61022, appium:udid: 2419d054921c7ece, platformName: ANDROID}]}]

Capabilities {appium:app: /Users/irfanmaulana/Downloa…, appium:autoGrantPermissions: true, appium:automationName: uiautomator2, appium:deviceId: 2419d054921c7ece, appium:deviceName: samsung SM-N960F (Android 10), appium:fullReset: true, appium:newCommandTimeout: 1800, appium:noReset: false, appium:platformName: ANDROID, appium:platformVersion: 10, appium:systemPort: 61022, appium:udid: 2419d054921c7ece, platformName: ANDROID}

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:114)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:75)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:61)

at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:176)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:237)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)

at io.appium.java_client.AppiumDriver.startSession(AppiumDriver.java:270)

at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:174)

at io.appium.java_client.AppiumDriver.(AppiumDriver.java:91)

at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:99)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:574)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:551)

at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startLocalMobileDriver(MobileDriverFactory.java:604)

at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startMobileDriver(MobileDriverFactory.java:511)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.doCall(StartApplicationKeyword.groovy:89)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.call(StartApplicationKeyword.groovy)

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:30)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.startApplication(StartApplicationKeyword.groovy:91)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.execute(StartApplicationKeyword.groovy:48)

at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:64)

at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.startApplication(MobileBuiltInKeywords.groovy:50)

at Script1750826449136.run(Script1750826449136.groovy:24)

… 13 more

)

2025-07-10 13:40:33.846 ERROR c.k.katalon.core.main.TestCaseExecutor - :cross_mark: Test Cases/Test/scn01 FAILED.

Reason:

com.kms.katalon.core.exception.StepFailedException: Unable to start application: ‘/Users/irfanmaulana/Downloads/app-uat-cakra-v5.3.6-rc3-173-300625.apk’

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.stepFailed(MobileKeywordMain.groovy:65)

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:34)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.startApplication(StartApplicationKeyword.groovy:91)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.execute(StartApplicationKeyword.groovy:48)

at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:64)

at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.startApplication(MobileBuiltInKeywords.groovy:50)

at scn01.run(scn01:24)

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:485)

at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:476)

at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:455)

at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:447)

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

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:151)

at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:139)

at TempTestCase1752129629317.run(TempTestCase1752129629317.groovy:25)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)

at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

Caused by: org.openqa.selenium.SessionNotCreatedException: Could not start a new session. Response code 500. Message: An unknown server-side error occurred while processing the command. Original error: The application at ‘/Users/irfanmaulana/Downloads/app-uat-cakra-v5.3.6-rc3-173-300625.apk’ does not exist or is not accessible

Host info: host: ‘MDTMAC688823958.local’, ip: ‘fe80:0:0:0:99:40ee:7d12:794e%en0’

Build info: version: ‘4.28.1’, revision: ‘73f5ad48a2’

System info: os.name: ‘Mac OS X’, os.arch: ‘aarch64’, os.version: ‘14.7.4’, java.version: ‘17.0.14’

Driver info: io.appium.java_client.android.AndroidDriver

Command: [null, newSession {capabilities=[Capabilities {appium:app: /Users/irfanmaulana/Downloa…, appium:autoGrantPermissions: true, appium:automationName: uiautomator2, appium:deviceId: 2419d054921c7ece, appium:deviceName: samsung SM-N960F (Android 10), appium:fullReset: true, appium:newCommandTimeout: 1800, appium:noReset: false, appium:platformName: ANDROID, appium:platformVersion: 10, appium:systemPort: 61022, appium:udid: 2419d054921c7ece, platformName: ANDROID}]}]

Capabilities {appium:app: /Users/irfanmaulana/Downloa…, appium:autoGrantPermissions: true, appium:automationName: uiautomator2, appium:deviceId: 2419d054921c7ece, appium:deviceName: samsung SM-N960F (Android 10), appium:fullReset: true, appium:newCommandTimeout: 1800, appium:noReset: false, appium:platformName: ANDROID, appium:platformVersion: 10, appium:systemPort: 61022, appium:udid: 2419d054921c7ece, platformName: ANDROID}

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:114)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:75)

at org.openqa.selenium.remote.ProtocolHandshake.createSession(ProtocolHandshake.java:61)

at io.appium.java_client.remote.AppiumCommandExecutor.createSession(AppiumCommandExecutor.java:176)

at io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:237)

at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:545)

at io.appium.java_client.AppiumDriver.startSession(AppiumDriver.java:270)

at org.openqa.selenium.remote.RemoteWebDriver.(RemoteWebDriver.java:174)

at io.appium.java_client.AppiumDriver.(AppiumDriver.java:91)

at io.appium.java_client.android.AndroidDriver.(AndroidDriver.java:99)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:574)

at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:551)

at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startLocalMobileDriver(MobileDriverFactory.java:604)

at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startMobileDriver(MobileDriverFactory.java:511)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.doCall(StartApplicationKeyword.groovy:89)

at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.call(StartApplicationKeyword.groovy)

at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:30)

… 18 more

kindly format the code for better readability. use ``` followed by your code

error indicates that Appium/Katalon cannot find your APK file at the specified path.

  1. Path does not exist in CI environment:
    /Users/irfanmaulana/Downloads/ is your local macOS path. Your GitLab runner (likely Windows-based) doesn’t have this path.
  2. File accessibility issues:
    Even if the file exists, Appium might lack permissions to access it.
  3. Path handling differences:
    Windows paths use backslashes (\) while macOS uses forward slashes (/)

Solution: Fix APK Path Handling

Step 1: Make APK available in CI

text

test_katalon_mobile:
  stage: test
  artifacts:
    paths:
      - apps/
  script:
    # Download APK to project-relative path
    - mkdir apps
    - curl -o apps/app.apk https://your-artifact-repository/app-uat-cakra-v5.3.6-rc3-173-300625.apk

    # Verify download
    - dir apps\  # Windows
    # OR
    - ls -l apps/  # macOS/Linux

Step 2: Update Katalon Configuration

text

- & "C:\Program Files\Katalon_Studio_Engine_Windows_64-10.2.3\katalonc.exe"
    ...
    # Use relative path
    -g_APP_PATH="apps/app.apk"

Step 3: Modify Your Test Script
In Katalon test case:

groovy

// Use GlobalVariable for path
String appPath = GlobalVariable.APP_PATH ?: "/Users/irfanmaulana/Downloads/app.apk" 
Mobile.startApplication(appPath, false)

Alternative Solutions

Option 1: Absolute Path (For Dedicated Runners)

text

variables:
  APK_PATH: "C:\\gitlab-runner\\apps\\app.apk"

script:
  - & katalonc.exe ... -g_APP_PATH="${APK_PATH}"

Option 2: Network Share (For Private Runners)

text

script:
  - net use Z: \\server\apps /user:user pass
  - & katalonc.exe ... -g_APP_PATH="Z:\\app.apk"

Critical Checks

  1. File Existence Verification
    Add this to your CI script:

bash

# Windows
if not exist "apps\app.apk" (echo "APK missing!" && exit 1)

# macOS/Linux
[ -f "apps/app.apk" ] || (echo "APK missing!" && exit 1)
  1. Appium File Access
    Add this capability to your mobile profile:

javascript

"appium:allowTestPackages": true,
"appium:enforceAppInstall": true
  1. Path Format Conversion
    Add this to your CI script:

text

- sed -i 's/\/Users\/irfanmaulana\/Downloads\//apps\//g' your_test_case.groovy

Final .gitlab-ci.yml Snippet

text

test_katalon_mobile:
  stage: test
  tags:
    - runner_for_mobile
  variables:
    APK_URL: "https://artifacts.example.com/app.apk"
    APK_PATH: "apps/app.apk"
  before_script:
    - mkdir apps
    - curl -o "${APK_PATH}" "${APK_URL}"
  script:
    - adb devices
    - & "C:\Program Files\Katalon_Studio_Engine_Windows_64-10.2.3\katalonc.exe"
        -noSplash
        -runMode=console
        -projectPath="C:\path\to\project.prj"
        -testSuitePath="Test Suites/Auth/Login"
        -browserType="Android"
        -deviceId="9ff68ebd"
        -executionProfile="default"
        -g_APP_PATH="${APK_PATH}"  # Critical injection
        -appiumDirectory="C:\Program Files\Appium"

Verification Steps

  1. Check pipeline artifacts for downloaded APK
  2. Add pipeline step: cat apps/app.apk | head -c 10 (should show PK header)
  3. Enable Appium logs:

text

- appium --log-level debug > appium.log 2>&1 &
- cat appium.log | grep 'path.*app.apk'