iOS 测试 WebDriverAgent 天坑记

烟消云散 · 2017年08月10日 · 最后由 bob 回复于 2018年06月11日 · 3838 次阅读

一、WDA安装依赖报错:

这个东西神坑,我搞了一天都没找到解决方案,最后在appium讨论中发现,解决方案是:
先定位到WebDriverAgent 所在路径

$ cd /Users/XXXX/git/WebDriverAgent 

然后运行:

$ mkdir -p Resources/WebDriverAgent.bundle
$ sh ./Scripts/bootstrap.sh

成功安装
这里写图片描述
而不是WebDriverAgent GitHub上说的./Scripts/bootstrap.sh

二、WDA运行失败

通过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 的指点!

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 1 条回复 时间 点赞
烟消云散 ATX 文档 - iOS 真机如何安装 WebDriverAgent 中提及了此贴 08月10日 16:07
烟消云散 iOS 远程真机实现讨论帖!! 中提及了此贴 08月11日 11:00
烟消云散 基于 WebDriverAgent 的 iOS 远程控制 中提及了此贴 08月29日 17:35
7楼 已删除

这个方法 可以解决问题!!!!!!

就是感觉你不靠谱啊!!!

1!!!!

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