IOS自动化—将WDA打包ipa批量安装驱动

打印 上一主题 下一主题

主题 760|帖子 760|积分 2280


媒介

CSDN:


  • ios自动化-Xcode、WebDriverAgent环境摆设
  • ios获取原生系统应用的包
如果Mac电脑没有设置好Xcode相关环境,可以参考以上文章。
必要条件



  • Mac电脑,OS版本在12.4及以上(低于这个版本无法安装Xcode14,装不了Xcode14就打包不了IOS16的驱动)
  • IOS设备手机,IOS版本在11.0及以上
  • Xcode14.0及以上
  • 公司的IOS开发者账号(如果是个人账号,只能用七天就要重新打包,这就失去了打包的意义了)
为何做这个

在之前写的IOS自动化教程中,我都是接纳的Mac电脑毗连ios设备,使用Xcode一个个进行打包,非常麻烦。
就如许忍受了不知道多久,一次偶尔的时机,我在sonic官网看到了可以将WebDriverAgent打包成ipa包,直接进行安装,这不就是当年我不停想要做的变乱却由于查不到资料而放弃了的变乱吗。
由于官网写的比力精简,只有一些命令,于是我打算完善和整合一下详细的操作步骤。
如许做了之后,只需要拿着ipa包直接进行安装,然后启动WebDriverAgent服务就可以了。
注:ipa包类似于Android端的apk安装包,ipa是ios的安装包后缀格式。
一、下载WebDriverAgent

appium提供的:https://github.com/appium/WebDriverAgent
Airtest提供的:https://github.com/AirtestProject/iOS-Tagent
直接通过git clone下载到Mac电脑本地即可。
二、进行打包WDA.ipa

「检查当前是否满意前面的必要条件,没满意请先满意,否则后面无法进行或有各种各样的报错!」


  • 确保Mac电脑已经安装了Xcode14.0及以上版本(此处是为了兼容现在最新的ios16设备)
  • 确认ios设备和Mac电脑已经毗连(插上数据线就行,弹出信任按钮点击信任即可)
  • 确保Mac电脑有充足的内存,Xcode很大!
1、指定xcode运行路径

启动终端,运行xcodebuild进行检查设置 , 如果没报错可以进行第2步,有报错跟着我一起办理

  • (base) QA-IPv6ownloads avidly$ xcodebuild
  • xcrun: error: active developer path ("/Applications/Xcode.app/Contents/Developer") does not exist
  • Use `sudo xcode-select --switch path/to/Xcode.app
    ` to specify the Xcode that you wish to use for command line developer tools, or use `xcode-select --install` to install the standalone command line developer tools.
  • See `man xcode-select` for more details.
报错办理一:path does not exist

这里报错的错误日志提示也非常明显,大意就是说没有找到你的Xcode.app这个路径下的/Contents/Developer这些文件,所以我们要指定一下Xcode.app的路径,这个路径就是你下载Xcode解压之后所放的位置,由于我当初下载的是Xcode-beta14.0版本,所以我就指定的是Xcode-beta.app,可以按需更改这个文件的名字。
并且在日志中给出相识决办法:
  1. sudo xcode-select --switch path/to/Xcode.app
复制代码
用这个命令进行指定你所要使用的Xcode。
「实操指定路径命令」
  1. sudo xcode-select --switch /Users/avidly/Downloads/Xcode-beta.app
复制代码
实际运行结果:


  • 实行的时间要输入暗码,这个暗码是你Mac电脑的暗码

  • (base) QA-IPv6ownloads avidly$ sudo xcode-select --switch /Users/avidly/Downloads/Xcode-beta.app

  • Password:
  • (base) QA-IPv6ownloads avidly$
报错办理二:not contain an Xcode project, workspace or package.

除了第一个报错,我们还可能遇到这个报错
  1. xcodebuild: error: The directory /Users/avidly/Downloads does not contain an Xcode project, workspace or package.
复制代码
这个报错,如果没有从事过xcode开发或者对xcode不是很熟悉的话,可能不是很清楚他的含义。
这里作为一个外行人,通过本身的实践经验做个说明:
这个报错表示,「当前所运行的文件目录下,没有找到xcode类型的文件项目。」
「办理方案:」


  • 1、打开Xcode,参考我之前的文章,打开对应的WebDriverAgent文件,选好各项设置,填好开发者账号(公司级别)
  • 2、打开Xcode,File -> Save As Workspace...
  • 3、保存名字可以任意取,我保存的是xiaozaiTest.xcworkspace
  • 4、将该文件放到和xcode.app同一目录下。



2、按步骤实行命令

第一步



  • 实行如下命令前,需要cd到第一步中我们保存的xcode项目文件目录下
  1. $ xcodebuild build-for-testing -scheme WebDriverAgentRunner -sdk iphoneos -configuration Release -derivedDataPath /tmp/derivedDataPath
复制代码
「实操截图展示」


这里需要等一小会,直到出现「TEST BUILD SUCCEEDED」,就表示成功了。


第二步

实行如下命令
  1. [/code] [list=1]
  2. [*] $ cd /tmp/derivedDataPath
  3. [*] $ cd Build/Products/Release-iphoneos
  4. [*] $ mkdir Payload && mv *.app Payload
  5. [/list] [align=center][img]https://img-blog.csdnimg.cn/img_convert/3dd5ab78af9ed9500a675bad8adf4178.png[/img][/align]
  6. [size=2]第三步[/size]
  7. 实行如下命令
  8. [code]$ zip -r WDA.ipa Payload
复制代码


实行完毕后,你在当前目录下可以看到有个WDA.ipa文件,这就代表我们成功了。
「这个时间我们就可以脱离Mac,直接使用windows操作了。」
之后也不需要再来xcode进行构建WebDriverAgent了,直接安装这个ipa包即可。


三、安装ipa文件

前面我们把ipa文件构建出来了,接下来就是需要进行安装了。
安装ipa文件可以通过iTools,也可以通过其他第三方进行安装,好比我比力推荐的是tidevice,它可以使用python编写批量安装,批量启动的脚本,这些我均已在公司落地。
下载tidevice

直接通过pip进行下载,这里我给大家加个速,我本身设置了全局加速,相关文章可以查察我之前写的pip设置全局镜像源。
tidevice的相关命令在之前也有写过,可以进行翻阅
  1. $ pip install tidevice -i https://pypi.tuna.tsinghua.edu.cn/simple
复制代码
安装

「只毗连了一台ios设备可以通过如下命令安装」
  1. $ tidevice install WDA.ipa
复制代码
「毗连了多台设备可以通过如下命令指定设备安装」
  1. $ tidevice --udid 设备的UDID号 install WDA.ipa
复制代码


四、启动WebDriverAgent服务

这个我之前有写过批量启动的文章:
公众号 : python非壅闭模式批量启动ios设备的WebDriverAgent
博客:python批量启动ios设备的WebDriverAgent
这里给一个示列:
  1. tidevice --udid 49687f67a4c70fbd027e19b4a5e40218acdc06e4 xctest -B com.facebook.WebDriverAgentRunnerxzz.xctrunner -e USB_PORT:8118
复制代码


  • --udid : 表示指定设备运行
  • 49687f67a4c70fbd027e19b4a5e40218acdc06e4 :ios设备的udid
  • com.facebook.WebDriverAgentRunnerxzz:xcode打包构建时写的包名
  • USB_PORT:8118 通过8118端口进行毗连


看到WebDriverAgent start successfully则表示WebDriverAgent服务启动成功了!
总结

主要命令如下:

  • $ xcodebuild build-for-testing -scheme WebDriverAgentRunner -sdk iphoneos -configuration Release -derivedDataPath /tmp/derivedDataPath

  • $ cd /tmp/derivedDataPath
  • $ cd Build/Products/Release-iphoneos
  • $ mkdir Payload && mv *.app Payload
  • $ zip -r WDA.ipa Payload

  • $ tidevice install WDA.ipa

行动吧,在路上总比不停观望的要好,未来的你肯定会感 谢现在拼搏的本身!如果想学习提拔找不到资料,没人答疑解惑时,请及时加入扣群: 320231853,里面有各种软件测试+开发资料和技术可以一起交流学习哦。
末了感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:


这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰巨的路程,希望也能帮助到你!


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

祗疼妳一个

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表