news 2026/3/5 8:50:30

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/3/3 22:08:18

【PCB制作】二极管选型资料收集

SS14 (肖特基二极管) 1N5819W B5819WS 1N4148 普通二极管 A7是普通二极管,只要是生产二极管的厂家一般都有销售的。 A7可以用M7(SMA封装)或1N4007(DO-41封装)代替。 1N4148 是开关二极管,耐压…

作者头像 李华
网站建设 2026/3/4 15:24:18

网站内容管理系统(CMS)分类与主流平台解析

内容管理系统(CMS)作为构建与管理网站的核心工具,其选择直接影响网站的运营效率、扩展能力与长期发展。当前市场中,CMS主要分为单体式、无头式与混合型等多种架构,每类产品面向不同需求与应用场景。为帮助用户更清晰地…

作者头像 李华
网站建设 2026/2/27 19:22:10

AI证件照制作系统源码核心技术功能与多场景应用列表

温馨提示:文末有资源获取方式 在数字化服务日益普及的今天,证件照制作这一传统需求正迎来技术驱动的革新。一款集成了前沿人工智能技术的在线证件照制作系统源码,为行业带来了高效、精准且可定制的解决方案。本系统源码不仅具备强大的核心处理…

作者头像 李华
网站建设 2026/3/3 12:04:31

claude code skills安装使用总结

LLM辅助工具经历了三个发展阶段: 阶段 特点 代表产品 代码补全 根据上下文预测下一行代码 GitHub Copilot 早期版本 对话助手 通过对话回答编程问题、生成代码片段 ChatGPT、Claude.ai 智能体系统 理解项目全貌、自主规划、执行多步任务 Claude Code Claude Code 属于第三阶段…

作者头像 李华
网站建设 2026/2/25 21:18:41

10/0.4kV变电站电气部分设计

10/0.4kV变电站电气部分设计 一、设计背景与意义 1004kV特高压变电站作为电力系统骨干网架的核心节点,承担着跨区域大容量电力输送、电网互联及负荷分配的关键功能,其电气部分设计直接决定电网运行的安全性、稳定性与经济性。随着新能源发电规模的持续扩…

作者头像 李华