iOS 测试 WebDriverAgent 天坑记

烟消云散 · August 10, 2017 · Last by 皮皮 replied at June 11, 2018 · 4161 hits

一、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 条回复 时间 点赞
烟消云散 iOS 远程真机实现讨论帖!! 中提及了此贴 11 Aug 11:00
烟消云散 基于 WebDriverAgent 的 iOS 远程控制 中提及了此贴 29 Aug 17:35
7Floor has deleted

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

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

1!!!!

需要 Sign In 后方可回复, 如果你还没有账号请点击这里 Sign Up