=============== ROOT CAUSE ===================== Caused by: com.kms.katalon.core.appium.exception.AppiumStartException: Appium directory is invalid: Cannot find appium executable file. For trouble shooting, please visit: https://docs.katalon.com/katalon-studio/docs/troubleshooting.html ================================================ 08-26-2021 03:52:29 下午 Test Cases/New Test Case (2) Elapsed time: 1.426s Test Cases/New Test Case (2) FAILED. Reason: com.kms.katalon.core.exception.StepFailedException: Unable to start app at: 'D:\app_APK\QQ.apk' (Root cause: com.kms.katalon.core.appium.exception.AppiumStartException: Appium directory is invalid: Cannot find appium executable file. at com.kms.katalon.core.appium.driver.AppiumDriverManager.findAppiumJS(AppiumDriverManager.java:387) at com.kms.katalon.core.appium.driver.AppiumDriverManager.startAppiumServer(AppiumDriverManager.java:302) at com.kms.katalon.core.appium.driver.AppiumDriverManager.startAppiumServerJS(AppiumDriverManager.java:262) at com.kms.katalon.core.appium.driver.AppiumDriverManager.startAppiumServerJS(AppiumDriverManager.java:407) at com.kms.katalon.core.appium.driver.AppiumDriverManager.ensureServicesStarted(AppiumDriverManager.java:244) at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:473) at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startLocalMobileDriver(MobileDriverFactory.java:539) at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startMobileDriver(MobileDriverFactory.java:452) at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.doCall(StartApplicationKeyword.groovy:49) 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:21) at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.startApplication(StartApplicationKeyword.groovy:51) at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.execute(StartApplicationKeyword.groovy:40) at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74) at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.startApplication(MobileBuiltInKeywords.groovy:78) at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords$startApplication.call(Unknown Source) at New Test Case (2).run(New Test Case (2):20) 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:430) at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:421) at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:400) at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:392) at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:273) at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:142) at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:133) at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source) at TempTestCase1629964342377.run(TempTestCase1629964342377.groovy:25) ) at com.kms.katalon.core.keyword.internal.KeywordMain.stepFailed(KeywordMain.groovy:50) at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.stepFailed(MobileKeywordMain.groovy:40) at com.kms.katalon.core.mobile.keyword.internal.MobileKeywordMain.runKeyword(MobileKeywordMain.groovy:23) at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.startApplication(StartApplicationKeyword.groovy:51) at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword.execute(StartApplicationKeyword.groovy:40) at com.kms.katalon.core.keyword.internal.KeywordExecutor.executeKeywordForPlatform(KeywordExecutor.groovy:74) at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords.startApplication(MobileBuiltInKeywords.groovy:78) at com.kms.katalon.core.mobile.keyword.MobileBuiltInKeywords$startApplication.call(Unknown Source) at New Test Case (2).run(New Test Case (2):20) 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:430) at com.kms.katalon.core.main.TestCaseExecutor.doExecute(TestCaseExecutor.java:421) at com.kms.katalon.core.main.TestCaseExecutor.processExecutionPhase(TestCaseExecutor.java:400) at com.kms.katalon.core.main.TestCaseExecutor.accessMainPhase(TestCaseExecutor.java:392) at com.kms.katalon.core.main.TestCaseExecutor.execute(TestCaseExecutor.java:273) at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:142) at com.kms.katalon.core.main.TestCaseMain.runTestCase(TestCaseMain.java:133) at com.kms.katalon.core.main.TestCaseMain$runTestCase$0.call(Unknown Source) at TempTestCase1629964342377.run(TempTestCase1629964342377.groovy:25) Caused by: com.kms.katalon.core.appium.exception.AppiumStartException: Appium directory is invalid: Cannot find appium executable file. at com.kms.katalon.core.appium.driver.AppiumDriverManager.findAppiumJS(AppiumDriverManager.java:387) at com.kms.katalon.core.appium.driver.AppiumDriverManager.startAppiumServer(AppiumDriverManager.java:302) at com.kms.katalon.core.appium.driver.AppiumDriverManager.startAppiumServerJS(AppiumDriverManager.java:262) at com.kms.katalon.core.appium.driver.AppiumDriverManager.startAppiumServerJS(AppiumDriverManager.java:407) at com.kms.katalon.core.appium.driver.AppiumDriverManager.ensureServicesStarted(AppiumDriverManager.java:244) at com.kms.katalon.core.appium.driver.AppiumDriverManager.createMobileDriver(AppiumDriverManager.java:473) at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startLocalMobileDriver(MobileDriverFactory.java:539) at com.kms.katalon.core.mobile.keyword.internal.MobileDriverFactory.startMobileDriver(MobileDriverFactory.java:452) at com.kms.katalon.core.mobile.keyword.builtin.StartApplicationKeyword$_startApplication_closure1.doCall(StartApplicationKeyword.groovy:49) 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:21) ... 17 more