news 2026/10/15 20:25:52

APP自动化测试详解

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
APP自动化测试详解

🍅点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快

什么是APP自动化?为什么要做App自动化?

App自动化是指给 Android或iOS上的软件应用程序做的自动化测试。

手工测试和自动化测试的对比如下:

手工测试优势:不可替代、发现更多bug、包含了人的想象力与理解力。

注意,不是所有功能都需要自动化。

自动化测试优势:可重复、效率高,增加软件信任度。

执行自动化测试可以让测试同事有更多的精力来关注复杂场景,做更多更深层次的测试。

风险分析

自动化测试的主要风险分析如下:

(1)测试用例覆盖率(覆盖率决定测试效率,选择合适用例,应约占功能用例集的20%~50%)

(2)测试结果准确度(准确度决定了测试有效性,应尽可能减少误报)。

(3)自动化代码维护(维护决定了成本,数据关键字驱动自动化框架,代码应尽可能优化和少改动)。

(4)版本开发和测试时间进度(当项目需求和功能较为稳定时,建议用自动化)。

(5)开发对控件元素增修改的程度(需开发人员尽可能地用name元素,并且和UI设计一致,修改变动程度不大,测试人员可根据提供的元素提前介入,开发自动化脚本)。

App源码权限控制,iOS上测试需要源码。实际测试只需SVN或者git下载权限,而不需要上传权限。防止改动SVN或者git 上的源码。

技术框架

1、自动化学习过程

自动化测试环境的部署-->自动化测试脚本开发能力--->自动化测试框架研发--->手机自动化持续集成

2、andorid 系统架构图

3、手机自动化测试环境

安装Appium-->安装手机模拟器-->安装selenium

和appium的客户端-->安装被测试app

4、Appium 软件架构

5、常用的定位技术和工具

6、自动化测试脚本技术

7、技术框架结构图


APP自动化测试流程

1、环境的安装

1.1 环境的准备

  • jdk1.6以上
  • python2.7以上
  • android-sdk
  • Appium desktop 安装

1.2 jdk 安装

  • 下载JDK后傻瓜式安装,注意:不要有中文路径和空格
  • 配置环境变量:

右击“我的电脑”-->"属性"-->"高级系统设置"-->"高级"-->"环境变量"

  1. 在系统变量里新建"JAVA_HOME"变量,变量值为:C:\Program Files\Java\jdk1.8.0_60(根据自己的jdk的安装路径填写)
  2. 在系统变量里新建"classpath"变量,变量值为:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)
  3. 找到path变量
  1. (已存在不用新建)添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

1.3 python 安装

  1. 傻瓜式安装,
  2. 配置环境变量:电脑属性系统变量添加python根目录

1.4 安装Android的测试开发环境

  1. Android-SDK的安装:SDK manager.exe 双击打开下载

2.android-sdk环境变量的配置

具体操作步骤:

  • 新建ANDROID_HOME

路径为C:\Program Files (x86)\Android\android-sdk\

  • 在Path 变量中加入路径%ANDROID_HOME%\platform-tools 和 %ANDROID_HOME%\tools

3.检查adb 环境变量

4.连接手机

如果是真机,手机插上USB连接电脑,打开开发者模式,cmd输入adb devices

如果是模拟器,需要输入adb connect 127.0.0.1:62001或者52001连接,然后再输入adb devices

Appium desktop 安装

下载地址:https://github.com/appium/appium-desktop/releases/tag/v1.3.1

傻瓜式安装 注意:一定要选择所有用户权限要不然用不了UiAutomator2

2、 API脚本

2.1 如何获取APP启动的AppPackage和AppActivity

  1. 通过appt获取切换到aapt所在的目录,执行aapt dump(aapt是sdk自带的一个工具,在sdk\builds-tools\目录下)使用命令aapt dump badging “D:\ jinritoutiao_7500.apk”运行后的结果中以下两行分别是应用包名package和入口activity名称

package: name=’ com.ss.android.article.news’

launchable-activity: name=‘com.ss.android.article.news.activity.LaunchActivity’

2. 通过 adb shell am startcom.ss.android.article.news/com.ss.android.article.news.activity.MainActivity

来判断启动的app 是否正确

2.2 启动appium

2.3 写脚本

1.platformName:这里是 android 的 apk

2.deviceName:手机设备名称,通过 adb devices 查看

3.platformVersion:android 系统的版本号

4.appPackage:apk 包名

5.appActivity:apk 的 launcherActivity

2.4生成测试报告

最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!凡事要趁早,特别是技术行业,一定要提升技术功底。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/15 8:33:14

接口测试基础知识,如何开展接口测试?

🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快一、接口测试基础理论接口测试:接口测试是测试系统组件间接口的一种测试,主要用于测试系统与外部其他系统之间的接口,以及系统内…

作者头像 李华
网站建设 2026/10/15 13:00:27

app生病记录设计+花费记录设计

关注的内容:1 生病时间2 生病的原因分析3 生病持续时间,痊愈时间我看着这个好像是个标准的计划。也许可以用一个计划来记录这个情况,然后带个额外的标记,这样就可以使用以前的代码来处理这个了。---------生活开支记录设计&#x…

作者头像 李华
网站建设 2026/10/15 10:29:44

JAVA源码解析:易卡随行名片系统高效搭建

以下从Java源码视角深度解析“易卡随行”智能名片管理系统的高效搭建路径,聚焦技术架构、核心模块实现与性能优化策略:一、技术架构的源码实现1. 微服务拆分与通信服务划分:基于Spring Boot实现名片服务、用户服务、权限服务、统计服务四大微…

作者头像 李华
网站建设 2026/10/14 23:59:07

铜厚对阻抗的影响在实际设计中如何验证?

铜厚对阻抗的影响在实际设计中,主要通过仿真验证和实测验证相结合来确保准确性。作为国内PCB测量仪器、智能检测设备等专业解决方案供应商,班通科技自研推出了国内首款国产替代手持式铜厚测试仪Bamtone T60系列、TDR阻抗测试仪Bamtone H系列、线宽线距测…

作者头像 李华