这个东西神坑,我搞了一天都没找到解决方案,最后在 appium 讨论中发现,解决方案是:
先定位到 WebDriverAgent 所在路径
$ cd /Users/XXXX/git/WebDriverAgent
然后运行:
$ mkdir -p Resources/WebDriverAgent.bundle
$ sh ./Scripts/bootstrap.sh
成功安装
而不是 WebDriverAgent GitHub 上说的./Scripts/bootstrap.sh
通过 xcode 启动 WDA,在控制台可以看到
通过终端命令启动
# 解锁keychain,以便可以正常的签名应用,
PASSWORD="your password"
security unlock-keychain -p $PASSWORD ~/Library/Keychains/login.keychain
# 获取设备的UDID
UDID=$(idevice_id -l | head -n1)
# 运行测试
xcodebuild -project /Users/yourname/WDA/WebDriverAgent/WebDriverAgent.xcodeproj -scheme WebDriverAgentRunner -destination "id=$UDID" test
错误原因:没有运行 bootstrap
也有说是:WebDriver becomes unresponsive after certain number of requests
即:在一定数量的请求之后,WebDriver 会变得无响应
解决方案:
图片可能有点看不清
WebDriverAgentLib->Build Setting->Runpath Search Paths->添加变量:
$(SRCROOT)/../Carthage/Build/iOS
$(PROJECT)/Carthage/Build/iOS
WebDriverAgentLib->Build Setting->Build Active Architecture Only->No
你们以为这样就能运行吗?
并不是!
最关键一步来了:
你要用数据线连着电脑重启你的手机!!!!
你要用数据线连着电脑重启你的手机!!!!
你要用数据线连着电脑重启你的手机!!!!
重要的话要说三遍!
这个方法我确实不知道原来,我去 WDA 里面提 issue,开发者给我说是 Xcode 的问题,现在还没解决。。。
但是用数据线连着电脑重启我的手机后,我确实运行成功了
而且最神奇的事情是:我由于有点事情,断掉了数据线连接,等我再次用 iPhone 连接 Mac 的时候,又报错了,和前面一样。。。这个原理我真是很绝望。。。这里我也只能提供解决思路了,这个问题我真的没弄懂,希望有大神解决后告诉我下!
2017-8-16 再次更新
这几天我 WDA 还是不重启就运行不起,再次尝试将 facebook 的 WDA 项目 git 下来,然后发现:
$ mkdir -p Resources/WebDriverAgent.bundle
$ sh ./Scripts/bootstrap.sh
已经无法解决问题了,还是会报错,且同
然后又是漫长的寻找解决方案,然后发现这个方法可以使用:
把 WebDriverAgent/Inspector/webpack.config.js 中的
loaders: [
{ test: /\.js?$/, loaders: ['babel-loader'], exclude: /node_modules/ },
{ test: /\.css?$/, loader: 'style-loader!css-loader' },
]
改为
loaders: [
{ test: /\.js?$/, loaders: ['babel-loader'] },
{ test: /\.css?$/, loader: 'style-loader!css-loader' },
]
把 , exclude: /node_modules/ 这部分去掉即可!
多谢@chenhengjie123 的指点!