测试 webdriveragent安装"/>
appium ios自动化测试 webdriveragent安装
用appium进行ios自动测试的时候猜踩到了很多坑,真的搞了好长时间,记录一下。
准备工作
参考这篇文章讲一下
先执行这个命令:
他说的是用这个命令
brew install libimobiledevice
我用的是下面这个
brew install libimobiledevice --HEAD
--HEAD这个命令的安装过程中会遇到很多奇奇怪怪的问题,但是都是能从github的问题区里面找到解决方法的。
我记得比较深的一个问题是No package ‘libimobiledevice-glue-1.0‘ found 这是因为brew以及不维护这个glue1.0了,评论区老哥给了一个方法:
brew tap kozyrap/libimobiledevice
brew install kozyrap/libimobiledevice/libimobiledevice --HEAD
我亲测是没有什么问题的。
中间还会遇到一些其他的包找不到,我的解决办法就是对这些包单独用brew安装,安装完再执行上面的命令,递归的把他里面的包装齐,就没啥问题。
然后执行这个:
npm install -g ios-deploy
这个是有brew的等价安装方法的,不想用npm的可以自己查一下。
我中间还遇到了xcode命令行版本过低的问题,解决方法就是卸载了重新装,他下面的报错之后会给出对应的命令行指令。
node.js也可以装一下,虽然我不知道有什么用就是了:
brew install node
这些依赖目前的文章上很少有人会说去装,我自己也不知道有什么用,但是人家官方教程说了,装一下倒也没什么问题。
之后的部分这个教程给了三种方法,我只讲我用的这种,确切的说只有这种我试成功了。
他的原理就是要先在手机上安装webdriveragent,appium才能和ios进行互动,下面一章就是讲怎么把webdriveragent安在你的手机上。安装过之后,以后需要测试时直接点开webdriveragent,不用再次重复下面的步骤,就可以直接连接上appium了。
webdriveragent
大部分文章说的是使用appium内部自带的webdriveragent(wda),就是右键appium找到里面的一个名字似乎是appium-webdriveragent的文件,然后执行里面的
./Scripts/bootstrap.sh
但是我自己运行这个命令的时候出了奇奇怪怪的问题,怎么都不成功,尤其是Carthage包的下载。因此从官网上下载了wda:。直接下载源代码的压缩包,他还有一个tar.gz的那个包,那是一个iphone的可执行文件,本意是想让你能够直接将wda拖到手机上,但是iPhone这样操作是不行的。
压缩包解压之后里面有一个WebDriverAgent.xcodeproj文件:
这是一个xcode可执行文件,直接把解压后的整个文件夹拖到xcode里面,然后点击这个打开,能够进入到这样一个界面:
点击WebDriverAgentLib,左边红圈圈里面那个,要是有两个的话点第一个,第二个是给tvOS用的。把那个automatically什么什么打上对勾,然后team里面把你自己的苹果账号登陆进去。
同理啊,点下面那个WebDriverAgentRunner,操作跟上面一样,改team:
然后还是WebDriverAgentRunner,点build settings,然后把packaging里面的boundle identifier改成自己的,其实前缀的com改了也没事,随意。
改完之后准备工作就算完成了。
然后拿出你准备的真机,一定要是真机啊,模拟器我怎么试都不行,,,
数据线连上你的电脑,确保一定在一个网络下面,不管你用热点还是wifi!!!
xcode上边栏product选项,scheme点开选择WebDriverAgentRunner,下面的destination点开选择你连接的真机,真机可以提前把开发者模式打开。然后test,就开始在手机里面安装wda了。
安装过程中是会有一些问题的,要是出现了下面的图:
是没有信任开发者,设置--通用--vpn与设备管理,里面信任一下,然后检查一下wda,再弄一次就ok了。
弄好之后会给你一个网址:
用这个网址,后面再加一个/status就能看到一个json组:
sessionId是空也没问题,不影响之后的使用。
下载过程中还会遇到一个问题是iphone is busy:xxxx,可以参考这个博客解决:
appium
appium的话,参数按照下面的写就没什么问题:
{"platformName": "iOS","deviceName": "iPhone 14 Pro","automationName": "XCUITest","platformVersion": "16.1.1","app": "/Users/apple/Desktop/name.app"
}
deviceName就写真机的名字,automationName不变,app写安装的app地址。
苹果的app是比较难获取的,可以试一下用ipatool,绑定账号的话要用真机上使用的账号(就是要在iphone上下载过app),要是没有在真机上下载过app的话,账号是不能在mac上下载ipa安装包的
更多推荐
appium ios自动化测试 webdriveragent安装
发布评论