appium ios自动化测试 webdriveragent安装

编程入门 行业动态 更新时间:2024-10-09 14:19:32

appium ios自动化<a href=https://www.elefans.com/category/jswz/34/1771117.html style=测试 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安装

本文发布于:2024-03-12 13:40:29,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1731637.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:测试   appium   ios   webdriveragent

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!