Macaca ubuntu16.04 和 win10 环境正确部署 macaca-android2.0.2 和 app-inspector1.2.28

老马 · 2017年05月11日 · 最后由 kobe 回复于 2019年11月22日 · 3888 次阅读

问题:

近期,macaca 团队升级了 macaca-android2.0.2 和 app-inspector1.2.28 ,导致升级后各种问题
详见https://github.com/alibaba/macaca/issues

现在我来总结整理下,正确重新安装部署的步骤

一 卸载和清理

npm uninstall macaca-android -g
npm uninstall app-inspector -g
npm cache clean

同时可以清理下下载缓存目录:
win10 在 C:\Users\your name\AppData\Local\Temp 下 手动删除 npm 开头相关即可
ubuntu16.04 在 /tmp 下 sudo rm -rf npm* 即可

二 安装配置 gradle

升级后 macaca 用了 gradle 来构建和部署。所以我们需要安装配置 gradle。
详见官方帮助 https://gradle.org/install 来部署安装好 gradle。

见到如下输出就说明 gradle 配置正确了:
win10 如下

C:\Users\cmd>gradle -v

------------------------------------------------------------
Gradle 3.5
------------------------------------------------------------

Build time:   2017-04-10 13:37:25 UTC
Revision:     b762622a185d59ce0cfc9cbc6ab5dd22469e18a6

Groovy:       2.4.10
Ant:          Apache Ant(TM) version 1.9.6 compiled on June 29 2015
JVM:          1.8.0_121 (Oracle Corporation 25.121-b13)
OS:           Windows 10 10.0 amd64

三 保证以下条件

需要 Android SDK Build-tools 25.0.2 和 Extras 下的 Android Support Repository
还有需要 android sdk 25 API
"D:\Android\android-sdk-windows\SDK Manager.exe" 启动它 勾选安装
最后如下:

四 安装 macaca-android

检查下
macaca 版本

C:\Users\cmd>macaca -v

  1.2.3

macaca doctor

C:\Users\cmd>macaca doctor

  macaca-doctor version: 1.1.4


  Node.js checklist:

  node env: D:\nodejs\node.exe
  node version: v6.10.0

  Android checklist:

  JAVA version is `1.8.0_121`
  JAVA_HOME is set to `C:\Program Files\Java\jdk1.8.0_121`
  ANDROID_HOME is set to `D:\Android\android-sdk-windows`
  Platforms is set to `D:\Android\android-sdk-windows\platforms\android-25`
  Android tools is set to `D:\Android\android-sdk-windows\tools\android.bat`
  ADB tool is set to `D:\Android\android-sdk-windows\platform-tools\adb.exe`
  GRADLE_HOME is set to `D:\gradle-3.5`

  Installed driver list:

  chrome: 1.0.5
  electron: 1.1.6

确保 macaca-android 驱动已被卸载,和 android-sdk-windows 是 android-25,还有 GRADLE_HOME 被正确设置。

接下来安装 npm i macaca-android -g
具体安装成功日志见
https://github.com/alibaba/macaca/issues/549

仔细看日志发现会利用 gradle 来下载更新部署相关组件了。
保证每步都是 BUILD SUCCESSFUL 即可 不要出现 BUILD FAILD 出现了即要找原因重新安装。

最后查看是否生成了以下两个 apk

生成即是 OK 的了。

四 安装 app-inspector

保证 macaca-android 正常的话,继续安装
npm i app-inspector -g 即可
具体成功安装日志见
https://github.com/alibaba/macaca/issues/550

这样就全部 OK 了,祝贺你好运。
多看安装日志来定位问题 启动 macaca 相关加--verbose 来获取更多的执行过程信息。

补充下 ubuntu16.04 刚开始 genymotion2.8.1 不行,我也不知道为什么,升级了下为 2.9.0 重新 down 了下 6.0.0 的安卓镜像就 OK 了。

更多信息请参考 wiki 汇总

小马的 macaca 入门指引合集

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 24 条回复 时间 点赞

这篇文章很及时,我的问题也解决了,多谢

—— 来自 TesterHome 官方 安卓客户端

老马 回复

我装的 gradle 4.1 ,难道不支持?

老马 回复

可以了,谢谢,我原来是直接在 path 里配变量值:D:\gradle-4.1\bin,不解这个也有影响的啊

老马 #14 · 2017年09月14日 Author
Test soldier 回复

windows 的话 关掉 cmd 终端 再开
ubuntu 的话 source /etc/profile 或 source ~/.profile 导入你的环境变量文件 即可不关终端 立即生效环境变量

老马 回复

没有用 ,机子都重启过了

老马 #17 · 2017年09月14日 Author
Test soldier 回复

系统变量 请参考如下配环境变量
变量名 GRADLE_HOME 变量值 D:\gradle-3.5
变量名 Path 变量值 %GRADLE_HOME%\bin

老马 #19 · 2017年10月11日 Author

最新的 app-inspector 2.0.8 和 macaca-android 2.0.40 需要 Android SDK Build-tools 25.0.2
Android SDK Platform-tools 26.0.1 和 Extras 下的 Android Support Repository 47
还有需要 android sdk Platform (API 26)

Extras 下的 Android Support Repository 47 安装不成功呢 ,使用这个代理:郑州大学开源镜像站:
mirrors.zzu.edu.cn 端口:80

仅楼主可见
孙某某 android 模拟器运行报错 中提及了此贴 11月27日 10:35

谢谢楼主,收藏了!

老马 #20 · 2017年10月11日 Author

android sdk manager 里的 http proxy server
大连东软信息学院镜像服务器地址:
mirrors.neusoft.edu.cn 端口:80 该地址已不行

请用以下代理 可不 ***
郑州大学开源镜像站:
mirrors.zzu.edu.cn 端口:80

在 ubuntu 系统上搭建 macaca ui 测试框架,也仅能支持 Android 手机,不能支持 IOS 手机啊, 做 IOS 自动化,一定就得 MacOS 系统的虚拟机或者电脑嘛?

wilson 回复

是的,一定要 macos 系统

谢谢,了解了,我想在公司的 web 测试平台集成 UI 自动化功能,但是阿里云没有 MacOS 系统,等于说我这边只能实现 web、Android 端的 UI 自动化,iOS UI 自动化就无法集成在 web 测试平台了,达峰你有好的解决方案嘛(测试平台是基于 Django 开发的)?

wilson 回复

macmini 或者垃圾桶,要几台看你的集成规模了

KD 回复

你好,你的问题解决了吗?我也遇到了同样的问题

如果还提示没有 app-debug.apk,可以进入到:/usr/local/lib/node_modules/macaca-android/node_modules/uiautomatorwd/目录下,执行./gradlew build,成功之后就有了。上面路径是 mac 系统的路径,其他系统进到自己对应的目录即可

kuier 回复

我试了下,发现 macaca doctor 报 sdk 的版本范围只支持 16-24 之间!你那边可以支持 sdk25?

我按上面 macaca-android 安装都已经 build successfully
但还是提示 C:\Users\admin\AppData\Roaming\npm\node_modules\macaca-android\node_modules_uiautomatorwd@1.0.25@uiautom orwd\app\build\outputs\apk\app-debug.apk 找不到这个。

路径跟你的有点不一样

我看你的 android sdk 安装的很奇怪 这里 http://tools.android-studio.org/index.php/sdk 处下载 android-sdk_r24.4.1-windows.zip


重新部署下 android sdk 和下载好 Android SDK Build-tools 25.0.2 和 Extras 下的 Android Support Repository
还有需要 android sdk 25 API 重新 npm i macaca-android -g

老马 Macaca 2.0.3 app-inspector@2.0.3 版本升级报错。 中提及了此贴 06月06日 09:24

这个帖子不错,解决所有问题,app-inspector 又可以跑起来了。

原来是没有安装 gradle 报的错误 感谢 问题已解决 感谢

2楼 已删除
23楼 已删除

请问下我 gradle 环境变量已经配置成功,macaca doctor 的时候还是提示 not set

你好,我启动 app-inspector 报错:

Microsoft Windows [版本 10.0.15063]
(c) 2017 Microsoft Corporation。保留所有权利。

C:\Users\KingDow>app-inspector -u 192.168.189.101:5555 --verbose
>> request.js:24:12 [master] pid:24900 get remote update info failed.
>> server.js:16:12 [master] pid:24900 server start with config:
 { port: 5678,
  verbose: true,
  udid: '192.168.189.101:5555',
  ip: '10.30.27.84',
  host: 'DESKTOP-7ONAIHS',
  loaded_time: '2017-08-19 19:01:39' }
>> app-inspector.js:43:12 [master] pid:24900 server start at: http://10.30.27.84:5678
{ Error: Command failed: E:\autoTest\macaca\tools-new\sdk/platform-tools/adb -s 192.168.189.101:5555 push C:\Users\KingDow\AppData\Roaming\npm\node_modules\app-inspector\node_modules\_uiautomatorwd@1.0.42@uiautomatorwd\app\build\outputs\apk\app-debug.apk /data/local/tmp/com.macaca.android.testing

    at ChildProcess.exithandler (child_process.js:270:12)
    at emitTwo (events.js:125:13)
    at ChildProcess.emit (events.js:213:7)
    at maybeClose (internal/child_process.js:921:16)
    at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
  killed: false,
  code: 1,
  signal: null,
  cmd: 'E:\\autoTest\\macaca\\tools-new\\sdk/platform-tools/adb -s 192.168.189.101:5555 push C:\\Users\\KingDow\\AppData\\Roaming\\npm\\node_modules\\app-inspector\\node_modules\\_uiautomatorwd@1.0.42@uiautomatorwd\\app\\build\\outputs\\apk\\app-debug.apk /data/local/tmp/com.macaca.android.testing' }

浏览器访问http://10.30.27.84:5678Waiting,页面一直显示: device start,一直刷新,后台显示 Get 200。genymotion 已经启动虚拟机以及 app 了。

安装信息如下:

C:\Users\KingDow>macaca doctor

  macaca-doctor version: 2.0.2


  Node.js checklist:

  node env: C:\Program Files\nodejs\node.exe
  node version: v8.2.1

  Android checklist:

  JAVA version is `1.8.0_141`
  JAVA_HOME is set to `E:\WORKTOOLS\jdk\jdk-8u141-windows-x64`
  ANDROID_HOME is set to `E:\autoTest\macaca\tools-new\sdk`
  Platforms is set to `E:\autoTest\macaca\tools-new\sdk\platforms\android-26`
  ADB tool is set to `E:\autoTest\macaca\tools-new\sdk\platform-tools\adb.exe`
  GRADLE_HOME is set to `E:\autoTest\macaca\tools-new\gradle\gradle-4.0.1`

  Installed driver list:

  android: 2.0.36
  chrome: 1.0.6
  electron: 1.1.7 [out-of-date]
  ios: 2.0.22 [out-of-date]



C:\Users\KingDow>app-inspector -v

 2.0.6

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册