MAC电脑上 Xcode版本:10.1和11.1
1安装Python 3.6,node.js8.1.1(具体操作步骤不详细叙述了)
2安装libimobiledevice工具包
brew uninstall --ignore-dependencies libimobiledevice
brew uninstall --ignore-dependencies usbmuxd
brew install --HEAD usbmuxd
brew unlink usbmuxd
brew link usbmuxd
brew install --HEAD libimobiledevice
brew install ideviceinstaller
brew link --overwrite ideviceinstaller
如果在安装中提示xcode版本太低不能安装可以把xcode版本切换成11.1;
3下载安装atxserver2-ios-provider, 并初始化其中的ATX-WebDriverAgent
由于git下载太慢我是网页直接down下来的,其中ATX-WebDriverAgent需要点击去额外下在下来;
下载ATX-WebDriverAgent后把里面内容放到ios provider的文件夹下;
# clone code and init submodule(appium WebDriverAgent)
git clone https://github.com/openatx/atxserver2-ios-provider --recursive
cd atxserver2-ios-provider
# run the following commands if you forgot --recursive
# git submodule init
# git submodule update
# install dependencies
pip3 install -r requirements.txt
npm install
# initialize atx WebDriverAgent (fork of appium webdriveragent)
cd ATX-WebDriverAgent
brew install carthage
./Scripts/bootstrap.sh
然后找台手机接到苹果电脑上。 按照这个文档https://testerhome.com/topics/7220 对WebDriverAgent项目进行下设置。 有条件的话还是弄一个苹果的开发者证书比较方便。个人可以用免费的证书(需要修改BundleID),另外隔几天证书就会过期。
每台设备都需要先用xcode,注册下,能跑起来WDA test,弄完之后接着往下看。
# export USER_PORT=8100 # WDA监听端口
# export MJPEG_SERVER_PORT=9100 # MJPEG-SERVER端口
# 避免命令行运行出错,运行一次即可
sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
# 解锁keychain,防止签名权限不足问题
security unlock-keychain ~/Library/Keychains/login.keychain
# security unlock-keychain -p $PASSWORD ~/Library/Keychains/login.keychain
# test if wda can run?
# xcodebuild -project WebDriverAgent.xcodeproj \
# -scheme WebDriverAgentRunner \
# -destination 'platform=iOS Simulator,name=iPhone 6' \
# test
SERVER_URL="http://localhost:4000" # 这里修改成atxserver2的地址
python3 main.py -s $SERVER_URL
连接iOS设备
- 确保设备已经解锁
- 使用数据线将苹果手机连接到电脑上(Mac)
- 当出现
是否信任该设备时
选择是
设备开启自动化
- 按下HOME -> 设置(Settings) -> 开发者(Developer) ->
Enable UI Automation
- 回到 设置(Settings) -> Safari浏览器 -> 翻到最后 高级(Advanced) -> 打开 Web检查器(Web inspector)
- 设置(Settings) -> 通用 -> 设备管理 -> 点击开发者应用中的栏目
持续运行的设备设置
默认情况下设备会锁屏的,而当设备锁屏的时候,就自动化不了了。最简单的一个办法就是保持设备常亮
- Home -> 设置(Settings) -> 显示与亮度(Settings & Brightness)
- 亮度调到低(可以是最低)
- 自动锁定(Auto-Lock) 设置为 永不(Never)
其中比较需要注意的是,用xcode运行WDA时不要运行IOS provider,当WDA可以正常运行后关闭XCode,关闭端口转发,
去运行IOS Provider;
如果正常连接是可以远程操控手机的,如果只能显示画面说明WDA构建除了问题,
我用Xcode11.1构建是平台无法操控手机,只能显示画面,可以连接,于是该用切换Xcode版本变成10.1;
构建失败或者是构建成功也无法连接平台时看一下Xcode环境
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/DeviceSupport
有没有你的手机IOS版本的调试包,没有就去下载个放进去
https://blog.csdn.net/qq_34696203/article/details/102857508
我的环境是Xcode10.1和11.1,iphone6plus,IOS12.2;
目前ATX2貌似只能支持ios12以上的手机
这里与本篇文章无关
喜欢二次元动漫的小伙伴可以微信扫一扫关注一下哟,点赞关注,鼓励一下博主呦