待测试的apk没有安装,并且通过appium运行时自动化安装时报的错误提示信息如下:
[ADB] Using aapt.exe from D:\adt-bundle-windows-x86_64-20140702\sdk\build-tools\android-4.4W\aapt.exe
[ADB] Extracting package and launch activity from manifest
[ADB] Error: packageAndLaunchActivityFromManifest failed. Original error: Path must be a string. Received null
at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
at ADB.callee$0$0$ (lib/tools/android-manifest.js:88:9)
at tryCatch (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\run
time.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-ru
ntime\regenerator\runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:3
7)
at run (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\node_modules\core-js\library\modules\es6.promise.js:104:47
)
at C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\node_modules\core-js\library\modules\es6.promise.js:115:28
at flush (C:\Users\Administrator\AppData\Roaming\npm\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: packageAndLaunchActivityFromManifest failed. Original error: Path must be a string. Received null]
[debug] [AndroidDriver] Shutting down Android driver
[AndroidDriver] Cannot shut down Android driver; it has already shut down
[MJSONWP] Encountered internal error running command: Error: packageAndLaunchActivityFromManifest failed. Original error: Path must be a string. Received null
at Object.wrappedLogger.errorAndThrow (lib/logger.js:60:13)
at ADB.callee$0$0$ (lib/tools/android-manifest.js:88:9)
at tryCatch (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67:40)
at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\run
time.js:315:22)
at GeneratorFunctionPrototype.prototype.(anonymous function) [as next] (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-ru
ntime\regenerator\runtime.js:100:21)
at GeneratorFunctionPrototype.invoke (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:136:3
7)
at run (C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\node_modules\core-js\library\modules\es6.promise.js:104:47
)
at C:\Users\Administrator\AppData\Roaming\npm\node_modules\appium\node_modules\babel-runtime\node_modules\core-js\library\modules\es6.promise.js:115:28
at flush (C:\Users\Administrator\AppData\Roaming\npm\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)
[HTTP] <-- POST /wd/hub/session 500 5933 ms - 234
解决办法如下:
1、手动安装待测试的apk
2、根据appium的服务关键字的说明,说明如下:
关键字为app的说明:针对Android系统,如果你指定app-package
和app-activity
的话,那么就可以不指定app
所以解决办法就在这里,我们不指定app而指定 appPackage和appActivity关键字,具体代码如下:
public class TestAPP {
private boolean isNeedInstall=false;
@SuppressWarnings("rawtypes")
private AppiumDriver driver=null;
public void testZhihu(){
DesiredCapabilities capabilities = new DesiredCapabilities();
capabilities.setCapability("deviceName","Android");
capabilities.setCapability("platformName","Android");
capabilities.setCapability(CapabilityTy