iOS自动化测试方案
随着现代软件开发的发展,测试变得越来越重要,以前公司只有Android 平台使用 Monkey 进行自动化测试,而对于 iOS 平台却一直没有可行性方案。为了解决这一短板,针对市面上自动化工作做出调研,最终决定引入了 Fastbot_iOS,这项工作为公司带来了以下价值体现。
1、我们成功解决了测试人力不足的问题,显著提高了测试效率。
2、自动化测试能够减少人为错误的出现,提高测试覆盖率,从更好地保证产品质量。
3、自动化测试还能降低测试成本,提高团队整体效率。
4、降低线上崩溃所造成的重大影响。总的来说,我们引入 Fastbot_iOS 这一自动化测试工具,既提高了测试质量和效率,也降低了风险和成本
附上几种自动化测试方案是经过调研得出的结论:
一、Fastbot_iOS方案实现:
开发者环境准备:
1、mac 电脑,配置Xcode, cocoapods
2、通过终端命令 git clone 下 Fastbot_iOS自动化工具
3、配置签名:设置签名为`自动签名`, 修改`Bundle ID`为自己的 bundleid
4、编辑Scheme:配置自动化测试的目标项目,配置测试时长,压力间隔。
5、勾选test模式下运行安装FastbotRunner自动化app至测试手机,并信任开发者证书。
测试者环境准备:
1、安装 tidevices:自动化测试环境,使用Python语言开发的(Python3.6+以上)
1.1、先安装Python环境。
1.2、使用命令安装tidevices环境: pip3 install -U "tidevice[openssl]"
2、检测安装是否成功 tidevice version(打印版本)
3、安装iTunes或者爱思助手,否则iPhone连不上windows电脑(tidevice ps可检测)
4、通过命令运行FastbotRunner去对目标app进行自动化测试
关键命令:
tidevice xctest -B bytedance.FastbotRunner.bbk.xctrunner -e BUNDLEID: xxxxx -e duration:60 -e throttle:300 --debug
测试时间结束后,主要观察有没有carsh日志,目前没有较好的方式可以获取到崩溃日志,可依赖于现在集成的bugly收集到的崩溃信息根据跑自动化的时间针对性筛选分析。
ps:常用命令
tidevice list #查看设备
tidevice launch 包名 #启动程序
tidevice kill 包名 #停止程序
tidevice applist #查看第三方包名
tidevice ps 查看设备安装的应用
tidevice -u $UDID xctest -B $BUNDLE_ID #运行FastBot
tidevice reboot #重启设备
tidevice install https://…ipa #远程安装
tidevice info #查看设备信息
更多相关操作:https://www.cnblogs.com/chen-xia/p/14362118.html
关于Fastbot_iOS在github以及其他相关链接链接
仓库地址:https://github.com/bytedance/Fastbot_iOS
相关问题:https://github.com/bytedance/Fastbot_iOS/issues/1
相关博客:https://blog.csdn.net/zh6526157/article/details/126541811
简单说开发者给测试人员安装自动化应用到手机上,测试人员后续自己使用命令进行自动化测试。
tidevice list --json 检测设备是否连接成功
tidevice ps 检测设备安装的应用
二、技术限制:
1、需要连接到电脑才能进行自动化测试。
2、测试的crash日志无法像安卓的monkey直观的显示出来。
3、安装的工具有时效性,过期了需要重新安装。
三、crash日志:
1、通过bugly上报的异常(筛选版本号、时间)进行定位
问题:是否能够添加账号?(已为开发和测试都添加了bugly访问权限)
网友评论