2017-11-20 4 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] 

Iは、上記のものから離れた経路に従う試み: 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