什么是APP自动化?为什么要做App自动化?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 start com.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生成测试报告

最后: 下方这份完整的软件测试视频教程已经整理上传完成,需要的朋友们可以自行领取【保证100%免费】

​​​软件测试面试文档

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

在这里插入图片描述

在这里插入图片描述

### App自动化测试工具与部署框架概述 在移动应用开发中,自动化测试和部署是提升开发效率、保证产品质量的重要环节。以下是对App自动化测试工具和部署框架的详细介绍。 #### 常用的App自动化测试工具 1. **UI Automator** UI Automator 是 Google 提供的官方黑盒 UI 自动化测试工具[^1]。它支持 Android 应用的界面交互测试,能够模拟用户操作(如点击、滑动等),并验证界面元素的状态。该工具适用于需要对 Android 系统进行深度测试的场景。 2. **Selenium** Selenium 是一个广泛使用的 Web 自动化测试工具,同时也支持移动端测试[^2]。通过 Selenium WebDriver 和 Appium 的结合,可以实现跨平台的移动应用测试。 3. **Appium** Appium 是一个开源的跨平台移动应用自动化测试框架,支持 iOS 和 Android 应用测试[^4]。它的特点是无需重新编译应用即可运行测试脚本,并且支持多种编程语言(如 Java、Python 等)编写测试代码。 4. **UiAutomator2** UiAutomator2 是 UI Automator 的升级版本,提供了更强大的功能和更好的兼容性[^3]。它可以通过 Python 脚本进行控制,简化了测试脚本的编写过程。 5. **Espresso** Espresso 是 Google 推出的另一款 Android 专用自动化测试框架,专注于白盒测试。与 UI Automator 不同,Espresso 更适合测试应用内部逻辑和组件交互。 #### App自动化部署框架 1. **Jenkins** Jenkins 是一款流行的持续集成/持续交付(CI/CD)工具,支持自动化的构建、测试和部署流程[^4]。通过配置插件,Jenkins 可以与移动应用开发环境无缝集成,实现从代码提交到应用发布的全流程自动化。 2. **Fastlane** Fastlane 是专门为移动应用设计的自动化部署工具,支持 iOS 和 Android 平台[^4]。它可以简化应用的打包、签名和分发过程,并提供丰富的命令行工具来管理不同阶段的任务。 3. **CircleCI** CircleCI 是一种基于云的 CI/CD 服务,支持移动应用的自动化构建和测试[^4]。它通过配置文件定义工作流,能够快速适应不同的项目需求。 #### 示例代码:使用 UiAutomator2 进行简单测试 以下是一个使用 UiAutomator2 的 Python 示例代码,展示如何启动应用并执行基本操作: ```python import uiautomator2 as u2 # 连接设备 d = u2.connect() # 启动应用 d.app_start("com.example.app") # 点击某个按钮 d(resourceId="com.example.app:id/button").click() # 验证文本是否显示 assert d(resourceId="com.example.app:id/textView").get_text() == "Expected Text" # 停止应用 d.app_stop("com.example.app") ``` ### 总结 选择合适的自动化测试工具或部署框架取决于具体的项目需求和技术栈。对于 Android 应用,UI Automator 和 UiAutomator2 是良好的起点;而对于跨平台需求,Appium 和 Fastlane 则更为适用。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值