App 自动化测试 基础知识 Package 和 Activity

这一小节会介绍一下 Android 应用的几个简单概念 Package 和 Activity,为什么要讲这两个概念呢?因为使用 Appium 自动化测试,必须要使用 Package 和 launch Activity 才能启动应用。

Package

什么是 Package?其实就是包名,可以认为是 Android 应用的一个唯一标识。如何确定你的设备上是否装了某一款应用?就是通过包名来判断。

在使用 Appium 进行 app 自动化的时候呢,必须要通过包名告诉 Appium 我们要测的应用是什么,这样 Appium 才知道要去哪里操作了。

Activity

那什么又是 Activity 呢?官方解释 Activity 就是 Android 组件中最基本也是最为常用的四大组件之一,中文意思就是活动,几乎所有的活动都是用来与用户交互的,活动主要关注与视图窗体的创建,一个应用程序可以包含零个或者多个活动,但是包含零个活动的应用比较少。

简单来说,activity 是一种与用户交互的组件,也就是界面啦。在 web 测试的时候,我们称作页面的玩意儿。只是现在不叫页面啦,叫活动。
如果把 app 看作一个浏览器(当然很多时候其实就是一个浏览器),那么Activity就是一个个的页面。
在一个应用程序中通常由多个 Activity 构成,都会在 Manifest.xml 中指定一个主的 Activity,如下设置 ,当程序第一次运行时用户就会看这个 Activity,这个 Activity 可以通过启动其他的Activity进行相关操作。

而我们需要告知 Appium,我们测试应用的启动活动(launch activity), Appium 才能启动应用。

如何查看 package 和 launch activity?

我们可以通过 Android SDK 的 build-tools中的 appt 工具来查看。

build-tools

如果你的 Android SDK 中没有,可以开启 SDK Manager.exe 下载任意版本的 build-tools 下载。
sdk

或直接从我的网盘下载 aapt.exe 并放在 Android SDK 的 tools下面即可:

链接:https://pan.baidu.com/s/17h_GomO0pAeNva2yo9ZMmQ
提取码:mnlo
复制这段内容后打开百度网盘手机App,操作更方便哦

然后在命令提示符中输入命令:

aapt dump badging D:\data\ECMobile3.2.apk

1. 从该命令的结果中找到 package name(一般就在第一行)
package: name='com.insthub.ecmobile' versionCode='6'
versionName='3.2' platformBuildVersionName='4.3-819563'

ecshop 的 package name 为: com.insthub.ecmobile

2. 从结果中找到 launchable-activity(可以按 Ctrl+F 搜索 launchable-activity)
launchable-activity: name='com.insthub.BeeFramework.activity.StartActivity'

你可能感兴趣的:(App 自动化测试 基础知识 Package 和 Activity)