APP UI自动化测试思路总结

python+appium自动化测试系列就要告一段落了,本篇博客咱们做个小结。

首先想要说明一下,APP自动化测试可能很多公司不用,但也是大部分自动化测试工程师、高级测试工程师岗位招聘信息上要求的,所以为了更好的待遇,我们还是需要花时间去掌握的,毕竟谁也不会跟钱过不去。

接下来,一起总结一下APP UI自动化测试的思路吧。

一,开发语言选择

通常用于自动化测试的编程语言有:Python、Java、Javascript、Ruby、C#、PHP等。一般我们会选择自己熟悉的编程语言来编写自动化脚本,但对于编程基础基本为0的童鞋(或者专注于做自动化测试的童鞋),推荐学习使用Python。

相对于其他语言,Python做自动化测试有以下优点:

  • 对于初学者来说,Python语法简洁,可读性强,易于学习

  • 有强大的第三方库,编写脚本效率更高

  • Python中的Pytest自动化测试框架是目前最流行的测试框架之一

二,UI测试框架选择

选择编开发语言之后,我们需要选择UI测试框架。目前较为主流或者使用较多的APP UI自动化测试框架有Appium、Airtest等。

1,Appium
  • 开源

  • Appium server支持在Windows、macOS、Linux上运行

  • 支持多种主流编程语言,如Python、Java、Javascript、Ruby等

  • 支持Android、ios、H5自动化测试(集成了UiAutomator、UiAutomation框架)

  • 环境搭建较为复杂

2,Airtest
  • 由网易开发(官方文档),只支持python语言

  • 提供集成Airtest与Poco两个测试框架的强大的IDE,对新手很友好

  • 集成基于图像识别的UI自动化测试框架airtest,即使不懂代码也能编写自动化脚本

  • 跨平台,可对Windows、Android和iOS应用软件进行自动化测试

  • 对游戏测试较为友好

  • Airtest与Poco本质上是python的两个第三方库,测试环境搭建没有Appium那么复杂

3,选择框架

根据实际情况选择合适的框架。

以下情况可以优先选择网易的Airtest (Airtest官网):

  • 无编程基础

  • 游戏测试

  • 测试场景较为单一(Appium相对来说较为笨重)

  • 支付宝小程序自动化(博主目前使用Airtest集成的Poco框架做支付宝小程序自动化测试)

以下情况建议选择Appium:

  • 测试场景比较复杂(如需要多台手机批量测试)

  • 测试脚本语言非Python(Airtest目前只支持Python)

三,单元测试框架选择

区别于上面所说的UI测试框架,单元测试框架用于加载测试用例、执行测试用例、断言、输出测试结果等。

不同的开发语言有各自对应的单元测试框架,如Java有JUnit、TestNG、Robot等,Python有unittest、pytest等。博主主要使用Python做自动化测试,所以这里只针对Python单元测试框架做说明。

python主流的单元测试框架:

  • unittest,Python自带的单元测试框架

  • pytest,基于unittest开发,易用性好,信息更详细,插件众多

  • robot framework,基于Python的关键字驱动测试框架,有界面,自带报告及log,功能完善,清晰美观

这里强烈推荐使用pytest,功能强大且容易上手,官方文档为英文,中文可参考Pytest 使用手册

四,测试环境搭建

1,测试电脑选择

有条件的话建议使用Mac机器专门用于UI自动化测试,因为ios app ui自动化只能在Mac机器上进行。

2,测试手机选择

刚开始进行测试脚本调试时可以选择模拟器,Android模拟器可选择Gernymotion、夜神模拟器,具体参考博客Android模拟器的使用

待整个测试项目开发完成后,建议换成真机跑自动化脚本,这样更接近真实的用户使用场景。

3,开发语言环境

建议安装python 3以上的版本,官方已经停止对python2版本的更新维护。

4,UI自动化测试框架环境搭建

windows环境下搭建Appium请参考博客appium环境搭建,Mac下搭建Appium稍微复杂点,后续会写博客分享。

若选择Airtest框架的话,请参考官网

五,脚本编写

1,编写测试demo

为了验证整个测试环境是否搭建成功、是否能跑通用例,一般我们需要先编写简单的测试脚本并执行,通过则说明整个环境搭建成功。

2,确定目录结构

推荐使用Page Object设计模式来开发APP UI自动化测试项目,请参考博客Page Object设计模式

3,选择测试报告

不同的开发语言、不同的单元测试框架可选用不同的测试报告。在python中,unittest框架使用HTMLTestRunner或BSTestrunner生成测试报告,可参考博客unittest单元测试框架。Pytest框架使用pytest-html生成报告或通过allure定制测试报告。

以上步骤完成后,继续往测试项目里新增测试用例便可。

六,Jenkins集成

根据上述步骤编写完成整个app UI自动化测试项目,且运行一段时间稳定后,就可以考虑进行Jenkins的集成,

七,总结

总结APP UI自动化可使用以下几种实现方式:

1,python + appium + unittest + HTMLTestRunner

2,python + appium + pytest + pytest-html / allure

3,python + Airtest(AirtestIDE)

4,python + Poco + pytest + pytest-html / allure

可根据实际情况自行选择。

 

作为一个软件测试的过来人,我想尽自己最大的努力,帮助每一个伙伴都能顺利找到工作。所以我整理了下面这份资源,现在免费分享给大家,有需要的小伙伴可以关注【公众号:开心螺蛳粉】自提!

软件测试面试文档

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

在这里插入图片描述

行动吧,在路上总比一直观望的要好,未来的你肯定会感谢现在拼搏的自己!如果想学习提升找不到资料,没人答疑解惑时,请及时加入群:1150305204,里面有各种测试开发资料和技术可以一起交流哦。

  • 25
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
2021 QECon全球软件质量&效能大会(上海站)PPT汇总,共57份。 2021 QECon全球软件质量&效能大会上海站聚焦于“数据智能、协同开放、拥抱云化、FinTech质效”四个主题,在大会主场的主旨演讲和14个专场的主题分享中得到详尽、全面的诠释。 一、主会场 从数据到知识:智能化软件开发实践之路 全面拥抱云化,云原生技术下的测试新形态 深度代码分析驱动效能提升实践 新一代研发效能中台的设计与实现 AI技术在自动化测试中的应用与实践 二、测试自动化 捷信QE团队移动端Flutter自动化及页面性能最佳实践 移动端自动化测试新利器KRunner设计实现 智能化思维赋能API自动化测试 智能手机深度测试的挑战和应对 三、工程效能 基于云原生的AI图像算法测试效能提升实践 小米电视持续集成改进 研发效能改进体系的建立和实践 亿级DAU短视频应用的多媒体测试基建演进 四、后敏捷时代DevOps 阿里云数字化转型交付质量建设与实践 基于并行环境下的DevOps平台建设 十万级设备全自动化管理 研发效能下的TestOps实践 五、架构与代码 领域驱动设计在系统重构中的应用实践 基于代码关系网络分析的质效应用实践 软件全供应链安全应用实践 资金安全之核对规则智能推导解决方案 六、数字化转型 面向数字生态的聚合架构 企业数智化转型的挑战和应对策略 七、新兴测试 快手智能语音体系自动化建设最佳实践 计算机视觉算法模型评测及自动化pipeline实践 QECon 快手端到端基础画质保障 八、研发流程管理 网易互联网创新管理解决方案 寻找最小阻力之路-精益敏捷与PMO相得益彰 云集基于目标的端到端项目管理平台建设 九、业务价值交付 大数据测试-数据测试平台的业务赋能 App端到端用户体验分析与实践 十、云原生质量 混沌工程:云原生可靠性治理的创新 腾讯互娱营销技术平台的云原生改造实践之路 一体化开发云研效平台落地实践 十一、质量度量与改进 模型化的质量度量 打造贝壳一站式质量平台KeTest 探探多语言兼容性质量保障十倍速快进之路 十二、质效技术创新 大规模微服务体系下的容量保障提效实战 基于海量日志和时序数据的质量建设最佳实践 性能测试的最后一公里 质量过程度量体系建设思路 十三、智能测试 Cherry Driver高级智能UI自动化驱动引擎实现 酷家乐智能设计AI算法的效果评测体系搭建 测试日志智能分析实践 基于融合AI技术实现的智能探索测试 移动端分布式智能测试系统实践 十四、专项测试 鸿蒙系统稳定性测试 微服务测试策略与测试技术 APP个人隐私合规 十五、FinTech质效 自动化测试中的数据管理探索 金融行业非功能质量体系建设实践 工行金融业务高可用流水线建设 大数据质量保障探索与实践 平安银行的混沌工程实践 全链路接口测试用例自动生成回归

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值