appium windows 命令行中运行以及targetSdkVersionFromManifest failed的解决
启动appium服务,可以通过appium.exe可执行文件启动,也可以通过命令行启动。appium.exe启动需要通过安装可执行文件,命令行启动需要通过npm安装appium。可执行文件启动方式如下,就是会出现无响应。
如下步骤为windows7下安装appium,命令行启动appium服务步骤:
1、安装python 官网 https://www.python.org/downloads/ 下载Windows版本安装
2、安装node.js 下载windows版本安装:https://nodejs.org/en/download/
npm 安装的文件放置在 C:\Users\xxxxx\AppData\Roaming\npm\node_modules 文件夹下面
3、管理员运行命令行cmd,设置npm 淘宝镜像
npm config set registry https://registry.npm.taobao.org
npm info underscore
4、安装cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
5、安装appium
安装指定版本:cnpm install -g appium@1.7.0 --registry=https://registry.npm.taobao.org
安装最新版本:cnpm install -g appium --registry=https://registry.npm.taobao.org
查看可以安装的appium 版本 ,可以用命令:npm view appium versions --json,就可以安装指定版本 命令格式为:npm install appium@1.7.0
cnpm install -g appium 安装appium。如果安装过程中出现等待时间长,不确定是否使用的是国内淘宝镜像,就可以执行命令带参数--registry,指定国内镜像
cnpm install -g appium --registry=https://registry.npm.taobao.org
安装npm install -g appium-doctor完成后运行下appium-doctor, 提示Everything looks good ,bye! 说明appium可以启动运行了
6、启动appium服务
Android终端
appium --avd 192.168.220.101:5555 --address 127.0.0.1 --port 4723 --session-override --platform-name Android --platform-version 19 --automation-name Appium
appium --avd test -a 127.0.0.1 -p 4723 --language "zh_CN" --locale "CN" --session-override
iOS终端
appium -a 127.0.0.1 -p 4725 --platform-name "iOS" --native-instruments-lib --no-reset
7、运行中的日志
8、运行过程中出现错误:[MJSONWP] Encountered internal error running command: Error: targetSdkVersionFromManifest failed. Original error: Cannot read property '1' of null
经查找是属于appium-adb 2.9.0的版本问题,需要使用appium-adb 2.7.0 使用方法为:
1)npm uninstall appium-adb
2)命令获取npm root -g 获取安装模块全局路径,所有的-g 安装的模块都在这个文件夹下面,示例中安装apppium的全局路径为:C:\Users\autotest\AppData\Roaming\npm\node_modules\appium
3)cmd进入C:\Users\autotest\AppData\Roaming\npm\node_modules\appium目录,npm install appium-adb@2.7.0
关于安装带-g和不带-g的区别
不带g本地安装:
npm install xxx 安装到命令行所在目录的node_module目录。
带-g全局安装:
npm install xxx -g 安装到哪里? 通过命令npm config get prefix来获取
重新启动,targetSdkVersionFromManifest failed 问题解决
1. npm install xxx -g 时, 模块将被下载安装到【全局目录】中。
【全局目录】通过 npm config set prefix "目录路径" 来设置。
通过 npm config get prefix 来获取当前设置的目录。
2. npm install xxx ,则是将模块下载到当前命令行所在目录。
提示: appium 命令 使用 请输入appium --help 会有提示怎么使用命令
参考文档 http://appium.io/slate/en/master/?java#requirements 右侧会有相关命令
如:$ npm install -g appium
$ appium