more than one device and emulator 这个错误 是因为你有多台设备,所以执行 adb 命令 要针对某一台来执行 所以请加 -s 参数
是代码有问题的,端口转发出错。。要修改 xctest-client.js
具体看这个 issue: https://github.com/alibaba/macaca/issues/304
#2 楼 @u1449648501 第二个问题其实就是因为缺少依赖造成的, 建议:1、确认源码是从 facebook 的 github 上拉下来的最新的。2、确认是不是墙的关系,有的依赖可能会需要到的资源 (因为我一直都是的所以不确定)。3、我看你 WebdriverAgent-master 的目录怎么放到了 usr/lib/node_modules 的路径下了,建议你放到权限正确的比如 developer 这类文件夹去用 。。。。再不行那就报警吧-。-
认真看下 webdriveragent 的 github 下面的文档 。。。。写得比较详细了。。。要装 Carthage,再运行./Scripts/bootstrap.sh 安装依赖
总算是改了。。。。不然真的,真机执行得好蛋疼,各种不稳定。
请教下,这个是解决了那个国行手机模块的 BUG 问题么,还是说,是用 USB 通讯规避那个问题。
@codeskyblue 按照 facebook 的 github 上的反馈来看,都是国行的 6s 和 7 出现的,看起来可能是国行带 TD-LTE 模块的设备在 iOS10 下会出现的。因为设备有限,我只尝试了水版的 iphone5 在 iOS10 下是正常的
@codeskyblue 这个是 IOS10 下特殊网络的问题
是整个源码,包含.xcodeproj 文件的,放到/usr/local/lib/node_modules/macaca-ios/node_modules/xctest-client/node_modules/webdriveragent/WebDriverAgent ,macaca 执行的时候会去编译和安装它到设备。
@sixleaves -。-那貌似也不太看得出问题在哪了,建议你试下把 WDA 的源码去 github 上下载下来,然后把 Lib 和 Runner 都重签名后,用 XCode 编译后确认在设备上跑起来,运行后确认下 xxx.xxx.xxx.xxx:8100/inspector 可以正常访问,然后把签名后的 WDA 源码替换到 xctest-client 的 node_modules 下的 webdriveragent 里,然后再跑一次试试。
你看下错误 LOG 是不是提示 Could not start service com.apple.syslog_relay,如果是需要重新安装 brew reinstall --HEAD libimobiledevice,再执行:sudo chmod 777 /var/db/lockdown。
不跑脚本的话,手动在设备上开 WebDriverAgent 的话是能打开到黑色屏的界面,还是就闪退了?
https://github.com/facebook/WebDriverAgent/issues/288
在 ios10 真机上遇到 webdriveragent 启动成功后无法访问 URL 的问题,请教下这个问题是 webdriveragent 的 BUG 么,macaca 当前在 Xcode8 和 ios10 真机的环境上运行是否可行呢。。
#25 楼 @sixleaves 企业证书的第三方 APP 没重签名可以跑的,不过要有 bundle id。WebDriverAgent 需要重签名
#2 楼 @Testersiwang 你要把 findelement 的操作也放到 for 循环里才可以把
#3 楼 @chenhengjie123 hamsterksu 的 docker 我有在 windows 和 linux 上都试过是可以的,只不过它是把 webview 的识别替换成了 xwalk 的了,context 的获取还是用 webview 的 api 来获取,然后获取到的 webview 的 context 的格式也还是'WEBVIEW_XXXX',swich 过去后是实际上是在操作 xwalk 的,只不过它的 dokcer 是 1.4.16 的版本。 想问下@lihuazhang的那个打过补丁的 chromedriver 只能在 mac 版本使用么 。。。
之前也一直是用 hamsterksu 的 docker 来解决 crosswalk 的问题,不过替换的方案只适用 1.5 以下的 appium,重构后的 appium 不知道怎么改。windows 下也只能用 docker 来跑,楼主的这个只能适合 mac 环境么 还是其他的环境也适合?
#2 楼 @fullsen 我之前有发过类似的帖你可以参考下https://testerhome.com/topics/2918
#4 楼 @lihuazhang 同意,帮了大忙了,再扩展些 API ,可以替代解决 xwalk 元素无法识别的问题。。
去年也碰到类似的问题 xwalkdriver 弄了半天不行,有个规避的土办法,你可以试试,不用切换 context,可以通过 view 元素的 Description 的属性,用 findbyname 来操作 。