news 2026/4/18 12:49:41

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/4/18 10:08:29

写简历用什么软件

在 2026 年的求职环境下,“用什么软件写”其实是一个关于“谁是你的第一读者” 的策略问题。现在的真相是:你的简历在被 HR 看到之前,必须先通过 ATS(申请人追踪系统) 的算法扫射。 如果你选错了工具,导致排…

作者头像 李华
网站建设 2026/4/18 8:55:30

C3/5怎么指定信道,带宽,发送自定义内容?

这个问题已经进入 Wi-Fi PHY/MAC 控制层 帧注入 调度控制 的范畴了,我直接给你一套工程上可行、在 ESP32-C3 / C5 上能落地的方案框架。 ⚠️先说明:下面讲的是协议测试 / 抗干扰 / 私有协议 / 安全研究层面的能力,不涉及实际攻击指导。 …

作者头像 李华
网站建设 2026/4/18 0:38:48

Python:(一)变量、类型与 f-string —— 数据的载体

目录 1. 变量 (Variables):给数据贴标签 命名规范(ML 领域的潜规则) 2. 四大核心数据类型 (The Core Types) A. Float (浮点数) —— ML 的绝对主角 B. Int (整数) —— 计数器 C. Bool (布尔值) —— 逻辑开关 D. String (字符串) —…

作者头像 李华
网站建设 2026/4/17 21:49:45

DODAP,CAS号:127512-29-2,二油酰基-3-二甲基氨基丙烷

DODAP,CAS号:127512-29-2,二油酰基-3-二甲基氨基丙烷 DODAP(N,N-dioctadecyldimethylammonium Propane Sulfonate)是一种常见的阳离子表面活性剂,广泛应用于药物递送、基因传递、纳米技术以及生物医学领域…

作者头像 李华
网站建设 2026/4/18 6:57:47

计算机等级考试—E-R 图符号对照表—东方仙盟练气期

E-R 图符号对照表 图形符号名称含义你的图中例子▭(单矩形框)强实体可以独立存在,拥有唯一主键的实体代购员、配送员、商品、顾客、托运公司▭▭(双矩形框)弱实体必须依赖其他强实体才能存在,自身没有完整…

作者头像 李华
网站建设 2026/4/18 8:50:58

Spring Boot 如何防护 XSS + SQL 注入攻击 ?终于懂了!

01 XSS漏洞 ① XSS漏洞介绍 跨站脚本攻击XSS是指攻击者往Web页面里插入恶意Script代码,当用户浏览该页之时,嵌入其中Web里面的Script代码会被解析执行,从而达到恶意攻击用户的目的。XSS攻击针对的是用户层面的攻击! ② XSS漏洞…

作者头像 李华