美文网首页
iOS自动化测试方案

iOS自动化测试方案

作者: pentakill | 来源:发表于2023-05-30 18:12 被阅读0次

    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访问权限)

    相关文章

      网友评论

          本文标题:iOS自动化测试方案

          本文链接:https://www.haomeiwen.com/subject/tbsaddtx.html