#9 楼 @zxc80729 https://testerhome.com/topics/5754 不行的话 你尝试下该篇的 cnpm 方式.
https://testerhome.com/topics/5754
该作者也可以参考下.
我通过
porps.put("package", "com.***.main");//appPackage
porps.put("activity", ".***");//aappActivity
的方式 发现并不可以 .不知道为什么,理论上应该是可以的 要么是我没找对包名和启动类名.要么是哪里没弄对.大家也可以试下这种方式.
重新利用 adb logcat 找了下 包和启动类名 替换后是可以的
1 服务下载组件卡了,你就去看 npm cache 文件夹 倒叙排列 刷新 看是否还有新文件下载 ,最近两个文件时间相隔太久了 ,比如都 10 分钟了 都没新文件生成,那 89 不离十是卡了 你就 ctrl+c 停掉 再反复尝试. 有时候有耐心一点 多等会儿.
安装成功的标志是,一大坨结构目录树看到这个才算真正安装成功。有时候由于服务镜像问题,是相当漫长的下载过程的。
2 如果报的是检查 校验 组件包 什么之类的依赖错误
你就 npm cache clean 清理干净 , 还有那个 C:\Users\your name\AppData\Local\Temp 目录 npm 相关都删掉
再反复尝试
3 找个好点的网络环境 要么 *** 要么番羽墙 尽量用国内的 淘宝镜像源http://registry.npm.taobao.org
4 如果安装完还是有执行脚本问题 先确定不是脚本的错。然后 npm unistall macaca-chrome -g
再 npm cache clean 清理掉相关下载缓存 或者怕不放心
C:\Users\your name\AppData\Local\Temp 目录 npm 相关都删掉
然后 在全新安装
我能遇到的都总结给你们了.再出现神马奇怪的问题 自己先判断下仔细看日志.
@ycwdaaaa
给作者个赞 支持这句:"没有想法,很多人是在别人的路上重复干着别人重复造过 N 轮的轮子,对测试这个概念没有自己的理解,没有自己的一套体系,没有总结出自己的一套方法论"
#23 楼 @amber_cheng https://github.com/alibaba/macaca/issues/103 是个 bug 你看 API https://macacajs.github.io/macaca-wd/api/#takeScreenshot 没有什么可传递参数。需要 macaca 修复。
统一回复
你们仔细看下, 就两类问题,
1 服务下载组件卡了,你就去看 npm cache 文件夹 倒叙排列 刷新 看是否还有新文件下载 ,最近两个文件时间相隔太久了 ,比如都 10 分钟了 都没新文件生成,那 89 不离十是卡了 你就 ctrl+c 停掉 再反复尝试. 有时候有耐心一点 多等会儿.
2 如果报的是检查 校验 组件包 什么之类的依赖错误
你就 npm cache clean 清理干净 , 还有那个 C:\Users\your name\AppData\Local\Temp 目录 npm 相关都删掉
再反复尝试
3 找个好点的网络环境 要么 *** 要么番羽墙 尽量用国内的 淘宝镜像源http://registry.npm.taobao.org
4 不行用 cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm i macaca-cli -g
我能遇到的都总结给你们了.再出现神马奇怪的问题 自己先判断下仔细看日志.
今天修复了 win10 下 macaca doctor 检查命令 驱动检查列显示的 bug 。感谢 macaca 团队。
@tsj1107 请问 想 ios 手机真机跑。
xdf @xudafeng 4 月 19 10:43
不需要越狱,需要你的 app 和https://github.com/xudafeng/webdriveragent 这两个地方都是用你本地的签名,就可以跑了。
请问 怎么设置这两个地方的签名。。。没弄过求教程。。。
经过不懈的研究琢磨,尝试。终于摸清 webstorm 是在此处添加语法提示插件。
但是在此处搜索 macaca 发现该地址并未提供语法插件支持,https://github.com/DefinitelyTyped/DefinitelyTyped
直接去也搜不到 macaca 到是搜到了 mocha 和 webdriverio 。
并且我们看到,mocha 支持的 after 框架语法,找到了语法提示文件 ***.mocha.d.ts.
希望 macaca 项目也能支持 语法提示插件啊。
遇到的这个问题,咨询作者说是 devtool 工具的问题。已经提了 issue
https://github.com/alibaba/macaca/issues/97
也希望 macaca 团队能重视下。对于国内大多数公司的非测试开发人员来说,稍微有些运维和开发的弄这个确实遇到好多问题。
1 希望能把教程分平台环境写, 比如 win10 linux mac。这样才算真正的跨平台支持。
2 希望针对用例脚本的书写 再多些分享。比如 这篇就很不错。但引用到的技术也是相当多概念的。对于希望深入的使用者还是有难度的。
3 希望能添加下 对 IDE 工具,macaca 语法提示插件的支持,比如 webstorm。
npm i macaca-android -g 这样升级吗?
为什么不支持 npm update 语法的升级方式.
这么好的分析 macaca 脚本构成的文章居然没回帖。我鼓捣好环境跑通样例了,现在要自己写了,这篇文章还是很大帮助的。
好多概念啊 BDD promise 异步模式 mochajs 框架。。。。 我只想写个用例脚本而已
@ziczhu devtool 不支持 win10 平台环境吗? 还是我安装没成功
D:\macaca\macaca-desktop-browser>npm i devtool -g
D:\nodejs\node-global\devtool -> D:\nodejs\node-global\node_modules\devtool\bin\index.js
D:\nodejs\node-global
`-- devtool@2.0.3
npm WARN optional Skipping failed optional dependency /devtool/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.14
D:\macaca\macaca-desktop-browser>devtool
fs.js:549
return binding.open(pathModule._makeLong(path), stringToFlags(flags), mode);
^
Error: ENOENT: no such file or directory, open 'D:\nodejs\node-global\node_modules\devtool\node_modules\electron-prebuilt\path.txt'
at Error (native)
at Object.fs.openSync (fs.js:549:18)
at Object.fs.readFileSync (fs.js:397:15)
at Object. (D:\nodejs\node-global\node_modules\devtool\node_modules\electron-prebuilt\index.js:4:42)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
sorry 自己又鼓捣好了。是假性安装成功,实际并没有安装成功。
假性安装成功的日志如下:
npm i devtool -g
D:\nodejs\node-global\devtool -> D:\nodejs\node-global\node_modules\devtool\bin\index.js
D:\nodejs\node-global
`-- devtool@2.0.3
npm WARN optional Skipping failed optional dependency /devtool/chokidar/fsevents:
npm WARN notsup Not compatible with your operating system or architecture: fsevents@1.0.14
记得每次 卡进度 ctrl+c 结束掉后 upm uninstall devtool -g 一下。 否则下次再执行 npm i devtool -g 会假性安装成功 实际运行 devtool 又会报错。
总是卡进度,没办法换下安装源头
C:\Users\cmd>npm config get registry
http://registry.cnpmjs.org/
C:\Users\cmd>npm config set registry http://registry.npm.taobao.org
C:\Users\cmd>npm config get registry
http://registry.npm.taobao.org/
C:\Users\cmd>npm i devtool -g
D:\nodejs\node-global\devtool -> D:\nodejs\node-global\node_modules\devtool\bin\index.js
electron-prebuilt@1.1.1 postinstall D:\nodejs\node-global\node_modules\devtool\node_modules\electron-prebuilt
node install.js
Downloading electron-v1.1.1-win32-x64.zip
[============================================>] 100.0% of 51.47 MB (2.39 MB/s)
D:\nodejs\node-global
-- devtool@2.0.3
-- resolve@1.1.7
+-- browser-resolve@1.11.2
|
+-- chokidar@1.6.0
| +-- anymatch@1.3.0
| | +-- arrify@1.0.1
| | `-- micromatch@2.3.11
| | +-- arr-diff@2.0.0
略掉以下
这样看到依赖组件目录树了 才算真正安装成功。
@tsj1107 大神,用什么 IDE 工具去编写 macaca 用例脚本啊? 就是能直接. 点出来 API 接口语法的那种。
JetBrains WebStorm 我用这个,然后打开示例项目,点出来的是 mocha 的 API 啊。
win10 跑 android 的时候报了些错,看了下
Error: Command failed: C:\WINDOWS\system32\cmd.exe /s /c "D:\Android\android-sdk-windows/platform-tools/adb -s 192.168.236.101:5555 pull /data/local/tmp/screenshot.png C:\Users\cmd\AppData\Local\Temp\macaca-android-screenshot116625-7964-l8nsrc.png"
at ChildProcess.exithandler (child_process.js:213:12)
at emitTwo (events.js:87:13)
at ChildProcess.emit (events.js:172:7)
at maybeClose (internal/child_process.js:827:16)
at Process.ChildProcess._handle.onexit (internal/child_process.js:211:5)
1) #2 should display home
类似的一共有三处,应该是保存路径和 win10 环境不匹配的问题。
cmd@TR:~$ adb devices -l
List of devices attached
192.168.56.101:5555 device product:vbox86p model:Samsung_Galaxy_S6_5_1_0API_22__1440x2560 device:vbox86p
先启动个 genymotion 安卓虚拟机或 AVD 虚拟机也可
make test-android 也可以跑啊.没毛病.
#7 楼 @tt33025515 看日志应该是 样例脚本跑到一半报的 好像是 chromedriver 报错了. 这个 macaca-chrome 安装成功了吗?
安装后仔细看下日志有没有警告或报错之类的.
遇到类似问题的话,去清理下你的 C:\Users\cmd\AppData\Local\Temp 目录 npm 相关的。
然后再执行 npm cache clean 这时会报一些错,不过实际你的 node-cache 已经清理干净了,并且还删除掉了 node-cache。
你就需要再手动创建文件夹 node-cache.貌似不自己主动创建也可以,命令会自动根据你的 npm config 自行创建的.
补充:如果网络不好的话,npm install 出来的安装进度指示,看不出是否还再下载了,你可以到你配置的 node-cache 目录 来观察,看文件创建日期等来看是否有新文件在下载中.
npm i macaca-android -g
npm i macaca-chrome -g 也都安装了
cmd@cmd-PC MINGW64 /d/macaca/macaca-test-sample-master/macaca-test
$ macaca run -d /d/macaca/macaca-test-sample-master/macaca-test/macaca-desktop-sample.test.js --verbose
index.js:17:12 [master] pid:13924 webdriver server start with config:
{ port: 3456,
window: true,
ip: '169.254.166.89',
host: 'cmd-PC',
loaded_time: '2016-07-21 10:32:54' }
middlewares.js:17:10 [master] pid:13924 base middlewares attached
router.js:108:10 [master] pid:13924 router set
webdriver sdk launched
module.js:327
throw err;
^
Error: Cannot find module 'webdriver-client'
at Function.Module._resolveFilename (module.js:325:15)
at Function.Module._load (module.js:276:25)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object. (D:\macaca\macaca-test-sample-master\macaca-test\macaca-desktop-sample.test.js:3:10)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at D:\nodejs\node-global\node_modules\macaca-cli\node_modules\mocha\lib\mocha.js:219:27
at Array.forEach (native)
at Mocha.loadFiles (D:\nodejs\node-global\node_modules\macaca-cli\node_modules\mocha\lib\mocha.js:216:14)
at Mocha.run (D:\nodejs\node-global\node_modules\macaca-cli\node_modules\mocha\lib\mocha.js:468:10)
at Object. (D:\nodejs\node-global\node_modules\macaca-cli\node_modules\mocha\bin_mocha:403:18)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:968:3
Test completed!
我看了下 macaca-desktop-sample.test.js 文件里是
var wd = require('webdriver-client')({
platformName: 'desktop',
browserName: 'electron'
我是否要改成 browserName: 'chrome'
同时改文件 D:\macaca\macaca-test-sample-master.travis.yml 内容为
language: node_js
sudo: required
node_js: