所需软件
python3.6.2 (略)
jdk8 [略]
node-v6.11.3-x64.msi 下载地址:https://nodejs.org/dist/v6.11.3/node-v6.11.3-x64.msi
adt-bundle-windows-x86-20140321.zip SDK下载地址:http://developer.android.com/sdk/index.html
genymotion 下载地址:http://dl.genymotion.com/dists/6.0.0/ova/genymotion_vbox86p_6.0_170320_193253.ova
配置java 环境变量:
JAVA_HOME 变量值为JDK的安装目录,笔者为C:\Program Files\Java\jdk1.8.0_121
PATH PATH变量值后追加 ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
CLASSPATH 变量值为 ;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;
检查是否安装成功
C:\Users\cmd>java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
下载地址 http://tools.android-studio.org/index.php/sdk 处下载 android-sdk_r24.4.1-windows.zip
将android-sdk-windows解压到你需要的目录下,笔者是D:\Android\android-sdk-windows
配置android-sdk环境变量:
ANDROID_HOME 变量值为android-sdk的解压目录,笔者为D:\Android\android-sdk-windows
PATH PATH变量值的最后追加 ;%ANDROID_HOME%\tools;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\build-tools;
去官网 https://nodejs.org/en/ 下载 v6.10.0 LTS 这个稳定版本,也就是node-v6.10.0-x64.msi这个。
然后安装到本地 D:\nodejs(重点说明:不要缺省目录,否则会带空格)
刚安装完是这样的版本
C:\Users\cmd>node -v
v6.10.0
C:\Users\cmd>npm -v
3.10.10
追加到PATH之后便可以了,D:\nodejs;D:\nodejs\node-global 【并确保 用户变量中,没有指定npm环境带空格的路径】
去D:\nodejs\目录下,新建 node-global 和 node-cache。先看下 如果已经有了 就不用再新建了。
修改文件:\nodejs\node_modules\npm\npmrc
prefix = d:\nodejs\node_global
cache = d:\nodejs\node_cache
或者如下设置:
C:\Users\cmd>npm config set prefix "D:\nodejs\node-global"
C:\Users\cmd>npm config set cache "D:\nodejs\node-cache"
检查下是否设置成功
C:\Users\cmd>npm config get prefix
D:\nodejs\node-global
C:\Users\cmd>npm config get cache
D:\nodejs\node-cache
再检查下安装源,我应该所有的安装源都是taobao.org,安装源有问题的话
npm config set registry http://registry.npm.taobao.org
C:\Users\cmd>npm config get registry
http://registry.npm.taobao.org
PS: 推荐尽量用国内的淘宝镜像源,因为你懂得的原因某些组件需要国外服务器下载,下载会失败导致macaca相关安装失败。
macaca最新的采用了gradle来构建和部署(以前有依赖Apache ant构建)。所以我们需要安装配置gradle。
详见官方帮助 https://gradle.org/install 来部署安装好gradle。【解压,设置path即可】
然后就是安装macaca-cli 和各种macaca驱动
npm i macaca-cli -g
npm i macaca-electron -g
npm i macaca-chrome -g
npm i macaca-android -g
【如果需要重装则先卸载,管理员权限执行。 npm uninstall macaca-android -g; npm cache clean】
如果报错如:throw er; // Unhandled 'error' event。 则切换到目录执行 D:\nodejs\node_modules\npm
npm install chromedriver --chromedriver_cdnurl=http://cdn.npm.taobao.org/dist/chromedriver
最后 macaca doctor检查环境ok后,
npm i app-inspector -g
地址 https://pypi.python.org/pypi/wd 也可如下命令安装
D:\macaca\sample-python\tests>python -m pip install wd
启动:macaca server -p 3456 --verbose
测试:
from macaca import WebDriver
desired_caps = {
'platformName': 'android',
'app': 'D:\\sasp.apk',
'reuse': 3
}
server_url = { 'hostname': 'localhost', 'port': 3456 }
if __name__ == '__main__': driver = WebDriver(desired_caps,server_url) print('000') driver.init() print('aaa') # unittest.main() driver.quit()
问题收集:
1,出现过push app失败,目录不存在。是因为windows上目录 application data 带有空格。(安装、配置好nodejs)
2,错误INSTALL_FAILED_CPU_ABI_INCOMPATIBLE解决办法,安装
3, 驱动安装屡次报错
$ npm install -g cnpm --registry=https://registry.npm.taobao.org
然后安装驱动,完美解决
然后利用cnpm 代替npm 。。。。