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

这篇具有很好参考价值的文章主要介绍了IOS自动化—将WDA打包ipa批量安装驱动。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

 

前面一直没更新技术文章,确实是我懒,但我保证,我会更懒!

只要没人催更,我可以一直偷偷写成私人笔记存本地而不发表 ~

前言

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-IPv6:Downloads 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,可以按需更改这个文件的名字。

并且在日志中给出了解决办法:

sudo xcode-select --switch path/to/Xcode.app

用这个命令进行指定你所要使用的Xcode。

「实操指定路径命令」

sudo xcode-select --switch /Users/avidly/Downloads/Xcode-beta.app

实际运行效果:

  • 执行的时候要输入密码,这个密码是你Mac电脑的密码

(base) QA-IPv6:Downloads avidly$ sudo xcode-select --switch /Users/avidly/Downloads/Xcode-beta.app
Password:
(base) QA-IPv6:Downloads avidly$

报错解决二:not contain an Xcode project, workspace or package.

除了第一个报错,我们还可能遇到这个报错

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同一目录下。

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

 

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

 

2、按步骤执行命令

第一步

  • 执行如下命令前,需要cd到第一步中我们保存的xcode项目文件目录下

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

「实操截图展示」

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

 

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

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

 

第二步

执行如下命令

$ cd /tmp/derivedDataPath
$ cd Build/Products/Release-iphoneos
$ mkdir Payload && mv *.app Payload

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

 

第三步

执行如下命令

$ zip -r WDA.ipa Payload

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

 

执行完毕后,你在当前目录下可以看到有个WDA.ipa文件,这就代表我们成功了。

「这个时候我们就可以脱离Mac,直接使用windows操作了。」

之后也不需要再来xcode进行构建WebDriverAgent了,直接安装这个ipa包即可。

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

 

三、安装ipa文件

前面我们把ipa文件构建出来了,接下来就是需要进行安装了。

安装ipa文件可以通过iTools,也可以通过其他第三方进行安装,比如我比较推荐的是tidevice,它可以使用python编写批量安装,批量启动的脚本,这些我均已在公司落地。

下载tidevice

直接通过pip进行下载,这里我给大家加个速,我自己配置了全局加速,相关文章可以查看我之前写的pip设置全局镜像源

tidevice的相关命令在之前也有写过,可以进行翻阅

$ pip install tidevice -i https://pypi.tuna.tsinghua.edu.cn/simple

安装

「只连接了一台ios设备可以通过如下命令安装」

$ tidevice install WDA.ipa

「连接了多台设备可以通过如下命令指定设备安装」

$ tidevice --udid 设备的UDID号 install WDA.ipa

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

 

四、启动WebDriverAgent服务

这个我之前有写过批量启动的文章:

公众号 : python非阻塞模式批量启动ios设备的WebDriverAgent

博客:python批量启动ios设备的WebDriverAgent

这里给一个示列:

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端口进行连接

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

 

看到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

最后: 下方这份完整的软件测试视频学习教程已经整理上传完成,朋友们如果需要可以自行免费领取【保证100%免费】

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

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

软件测试技术交流群社:786229024(里面还有工作内推机会,毕竟我们是关系社会。)

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生

面试文档获取方式:

wda安装,程序人生,IT,程序员,单元测试,职场和发展,软件测试,自动化测试,程序人生文章来源地址https://www.toymoban.com/news/detail-595428.html

到了这里,关于IOS自动化—将WDA打包ipa批量安装驱动的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 树莓派镜像安装 + 设置 + 镜像批量化操作 - 自动化烧写SD Card (三)

    如 《树莓派镜像安装 + 设置 + 镜像批量化操作 - USB boot (二)》中所写, 可以使用树莓派USB挂载方式, 编写自动化脚本, 当有对应的设备出现的时候,格式化 + 烧写镜像; windows上监控读卡器设备 遍历系统设备, 选择读卡器设备, 并定时获取设备信息; 当设备有了大小之后, 开始

    2024年02月14日
    浏览(40)
  • iOS打包IPA教程

    众所周知,在开发苹果应用时需要使用签名(证书)才能进行打包安装苹果 IPA,作为刚接触ios开发的同学,只是学习ios app开发内测,并没有上架appstore需求,对于苹果开发者账号认证需要支付688,真的是极大的浪费,使用appuploader,只需要注册苹果普通的账 号,不需要688认证

    2024年02月12日
    浏览(36)
  • IOS自动化测试元素定位

    一、元素属性介绍   1、元素属性   2、查看各定位方式执行效率 二、iOS常用定位方法   1、accessibility_id   2、class_name   3、Xpath   4、ios_class_chain(类型链)   5、ios_predicate(谓词) 一个页面最基本组成单元是元素,想要定位一个元素,我们需要特定的信息来说明这个元素的唯一特

    2024年01月18日
    浏览(45)
  • IOS + Appium自动化教程

    项目闲置下来了,终于抽空有时间搞自动化了,看了下网上的教程基本通篇都是android自动化的介绍 ,ios自动化方面的内容网上简介的少之可怜。由于本人对ios自动化也是第一次做,甚至对苹果电脑的使用都不太熟悉,花了大概一周时间粗略的看下ios开发知识,网上随手下载

    2024年02月15日
    浏览(44)
  • WDS自动化批量部署Windows 10

    目录 第一步:部署前的准备工作: 部署的拓补图如下: 第二步:修改系统计算机名和用户名及密码 第步:三部安装服务 第四步:配置DHCP服务 第五步:配置WDS服务 1、Windows server 镜像一份,我这里使用最新的Windows server 2022做演示。 镜像链接:单机迅雷下载 2、一台用于安装

    2024年02月16日
    浏览(31)
  • Selenium批量自动化获取并下载图片

    Selenium批量自动化获取并下载图片 在现代的Web开发中,自动化测试和数据抓取已经成为不可或缺的一部分。Selenium作为一款强大的自动化测试工具,不仅可以用于测试Web应用,还可以用于批量获取网页上的图片。本文将介绍如何使用Selenium批量自动化获取并下载图片。 一、准

    2024年01月22日
    浏览(43)
  • Jenkins自动化打包脚本

    jenkins可以设置定时任务打包,也已手动点按钮打包,还可以通过执行http请求打包,今天我们就通过shell脚本,通过curl命令进行jenkins打包。 2.1 在jenkins上构建项目 设置触发器

    2024年02月13日
    浏览(40)
  • jenkins-自动化打包部署

    环境:         centos 7.2或者更新         rmp包:官方下载地址 Redhat Jenkins Packages         java-1.8.0 安装: 配置:jenkins 配置文件 /etc/sysconfig/jenkins  ,可以根据需求自行修改 访问web 并进行配置 稍等一会,就可以正常登录了 根据需要安装自定义插件,本次选择是推

    2024年02月13日
    浏览(45)
  • IOS自动化测试环境搭建教程

    目录 一、前言 二、环境依赖 1、环境依赖项 2、环境需求与支持 三、环境配置 1、xcode安装 2、Git安装 3、Homebrew安装(用brew来安装依赖) 4、npm和nodejs安装 5、libimobiledevice安装 6、idevicesinstaller安装 7、ios-deploy安装 8、Carthage安装 9、Appium安装 【我安装的appium版本:1.21.0】 10、

    2024年02月15日
    浏览(56)
  • iOS自动化环境搭建(超详细)

    libimobiledevice 使用本机与苹果iOS设备的服务进行通信的库。 ideviceinstaller 获取设备udid、安装app、卸载app、获取bundleid carthage 第三方库管理工具。 ios-deploy ios-deploy 不依赖于XCODE,进行安装和调试IOS应用程序。 node npm appium-doctor 验证appium环境 Xcode 是iOS开发环境,可以到app store 下载

    2024年02月10日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包