2017-11-20 9 views
2

appium의 테스트 스위트에서 apk 파일을 실행하려고하는데 에뮬레이터가 성공적으로 실행되지만 apk를 실행 한 시점에 apk를 찾을 수 없다고 표시됩니다. 경로가 나에게도 맞아 보이지만 여전히 해결책을 찾을 수 없습니다.Appium 경로 문제

아래는 Appium의 오류입니다.

AndroidDriver] Using device: emulator-5554 
[ADB] Checking whether adb is present 

[ADB] Using adb from /Library/Android/sdk/platform-tools/adb 
[debug] [ADB] Setting device id to emulator-5554 
[BaseDriver] Using local app '/src/test/resources/myapp.apk' 
[debug] [AndroidDriver] Checking whether app is actually present 

[debug] [AndroidDriver] Shutting down Android driver 

[AndroidDriver] Cannot shut down Android driver; it has already shut down 

[HTTP] <-- POST /wd/hub/session 500 25028 ms - 212 

[AndroidDriver] Error: Could not find app apk at /src/test/resources/myapp.apk 
    at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13) 
    at AndroidDriver.checkAppPresent$ (lib/driver.js:274:11) 
    at tryCatch (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:67:40) 
    at GeneratorFunctionPrototype.invoke [as _invoke] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:315:22) 
    at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:100:21) 
    at GeneratorFunctionPrototype.invoke (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/regenerator/runtime.js:136:37) 
    at run (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js:104:47) 
    at /Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/es6.promise.js:115:28 
    at flush (/Applications/Appium.app/Contents/Resources/node_modules/appium/node_modules/babel-runtime/node_modules/core-js/library/modules/$.microtask.js:19:5) 
    at _combinedTickCallback (internal/process/next_tick.js:67:7) 
    at process._tickCallback (internal/process/next_tick.js:98:9) 
[Error: Could not find app apk at /src/test/resources/myapp.apk] 

나는 위에 나열된 하나에서 떨어져 경로를 다음 시도 : 1. ./src/test/SRC/테스트 즉, 모듈 이름/SRC/테스트 3의 일부 모듈 이름에서 2. 시작 . 시도했다./src/test 4. 시도/src/test

내가 누락 된 부분은 무엇입니까?

또한 왜 APK 출시 전에 ([디버그] [AndroidDriver] Android 드라이버 종료 중)이 발생합니까?

코드 : 사전에

DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities.setCapability(MobileCapabilityType.FULL_RESET,"true");  
    capabilities.setCapability(MobileCapabilityType.DEVICE_NAME,"Nexus10"); 

    capabilities.setCapability(MobileCapabilityType.PLATFORM_VERSION,"4.4"); 

capabilities.setCapability(MobileCapabilityType.PLATFORM_NAME,"Android"); 

    capabilities.setCapability(MobileCapabilityType.APP,"myapp.package"); 

    capabilities.setCapability(MobileCapabilityType.NEW_COMMAND_TIMEOUT, "20"); 
     capabilities.setCapability("app", "/src/test/resources/myapp.apk"); 
     AndroidDriver = new AndroidDriver(new URL("http://127.0.0.1:4724/wd/hub"), capabilities); 

     AndroidDriver.rotate(ScreenOrientation.PORTRAIT); 
     log.info("Set up done for capabilities"); 

감사합니다.

+0

절대 경로 (루트에서 시작)로 시도 했습니까? – Vinod

+0

실행중인 명령, 실행중인 전체 경로 및 APK [루트에서]까지의 전체 경로를 입력하십시오. –

+0

절대 경로가 상대 경로가 아닙니다. 내가 구름/다른 기계로 옮길 때 이것은 효과가 없을 것이다. – Prabhath

답변

2

'src'폴더가 실행중인 위치와 동일한 위치에 있으면 앞의 '/'를 제거하여 Appium이 사용자의 파일 시스템이 아닌 전체 파일 시스템의 루트에서 시작하도록합니다. 로컬 경로.

src/test/resources/myapp.apk 

내 경험으로 '~'를 사용하면 Appium에서 작동하지 않습니다. 필자는 개인적으로 앱 위치를 매개 변수화하고 환경 변수에서 가져와 다른 시스템의 다른 위치에 있는지 계산하지만 모든 경우에 파일 시스템 루트의 경로를 제공하므로 가장 간단합니다.

+0

마이크가 작동하지 않았습니다. – Prabhath