Appium使用教程(七)——获取appPackage和appActivity

本文介绍了五种获取appPackage和appActivity的方法,包括使用CMD命令、反编译APK文件、利用Appium设置页面、解压APK文件以及通过ADB命令抓取日志等,为Appium自动化测试提供了实用技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 appPackage和appActivity 进行appium自动化测试非常重要的两个参数,我们所测试的APP不同,这两个参数肯定也是不一样的。那如何快速的获取这APP的这两个参数呢?我这里介绍五个方法。
 

方法一(最简单有效的方法)

通过cmd命令,前提是先打开手机中你要获取包名的APP

1. adb shell

2. dumpsys activity | grep mFocusedActivity

这里写图片描述

方法二

通过反编译来获取包名及入口

aapt dump badging c:\software\taobao.apk

这里写图片描述

方法三(第二简单方法)

如果你安装了Appium,进入设置页,选择APK 路径,下面就会显示包名和Activity名称

这里写图片描述

方法四

首先,你要有一个APP的安装包 xxx.apk,

然后,通过这个解压工具将.apk解压。如下:

这里写图片描述

打开解压后的文件夹,找到AndroidManifest.xml文件,用notepad++工具打开。

在里面搜索:manifest 对应的就是appPackage

这里写图片描述

这里写图片描述

搜索:activity对应的就是appActivity。(activity关键字很多,你要注意辨别。)

这里写图片描述

方法五

这种方法也比较简单,主要针对你没有.apk包的情况,比如Android原生自带的APP(计算器、通讯录、短信…),可以通过adb 命令。

1,打开APP。

2,执行> adb logcat>D:/log.txt

如果你电脑连接了两个或以上的模拟器,你需要指定模拟器设备名,来下载你指定的模拟器App包

命令:

adb -s <设备名> logcat

我这里指定一台模拟器,将app log下载到本地

这里写图片描述

3, 胡乱的对APP做一些操作。

4, Ctrl+c 结束adb命令。

5, 打开log.txt文件,搜索:Displayed

这里写图片描述

这里我们就获取到了想要的appPackage和appActivity

appPackage: com.tencent.android.qqdownloader

appActivity:com.tencent.assistant.activity.SplashImplActivity

### 关于 Appium 进行安卓应用测试的教程 Appium 是一个开源的移动应用自动化测试框架,支持跨平台的应用测试,包括 iOS Android 平台。对于 Android 应用测试,Appium 提供了一个专门的驱动程序——Appium Android Driver,用于实现与 Android 设备及其应用程序之间的交互[^1]。 #### 一、环境搭建 为了使用 AppiumAndroid 应用进行测试,首先需要完成以下准备工作: - **安装 Java Development Kit (JDK)**:确保 JDK 已经安装并配置好环境变量。 - **下载安装 Android SDK**:通过 Android Studio 或单独下载 Android SDK,并设置 `ANDROID_HOME` 环境变量指向其路径。 - **安装 Node.js**:因为 Appium 的运行依赖于 Node.js,所以需要先安装最新版本的 Node.js。 - **安装 Appium Server**:可以通过命令行全局安装 Appium Server,执行如下命令: ```bash npm install -g appium ``` #### 二、基本概念 在开始编写测试脚本之前,了解以下几个核心概念非常重要: - **Desired Capabilities**:这是启动会话传递给 Appium Server 的一组键值对参数,定义了设备、操作系统以及被测应用的相关信息。例如: ```json { "platformName": "Android", "deviceName": "emulator-5554", "appPackage": "com.example.app", "appActivity": ".MainActivity" } ``` 上述 JSON 数据指定了目标平台为 Android使用的设备名称为模拟器默认名,指定要打开的应用包名为 `com.example.app` 及主 Activity 名称为 `.MainActivity`[^1]。 - **Session**:每次测试都会创建一个新的 Session,在此期间所有的操作都基于该 session 执行直到结束或者手动关闭为止。 #### 三、简单示例代码 下面是一个简单的 Python 测试脚本例子来展示如何利用 Appium 控制 Android 设备上的某个特定按钮点击事件: ```python from appium import webdriver desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '7.1.2' desired_caps['deviceName'] = 'emulator-5554' desired_caps['appPackage'] = 'com.android.calculator2' desired_caps['appActivity'] = '.Calculator' driver = webdriver.Remote('http://localhost:4723/wd/hub', desired_caps) try: # 查找元素并通过 id 来定位加号按钮 plus_button = driver.find_element_by_id("com.android.calculator2:id/digit_9") plus_button.click() finally: driver.quit() ``` 以上代码片段展示了如何连接至本地运行着的 Appium server 实例,并且针对计算器应用进行了基础的操作演示[^1]。 #### 四、工具辅助开发 除了直接编码外,还可以借助一些图形化界面工具简化流程: - **Appium Desktop**: 提供直观易懂的方式查看当前正在调试的应用内部结构树形视图;同允许实预览 XPath/CSS Selectors 表达式的匹配效果[^2]。 - **Appium Inspector**: 类似于浏览器开发者模式下的 DOM 探索功能,能够更方便快捷地找到所需控件的位置信息以便后续引用到自己的脚本当中去[^3]。 #### 五、注意事项 当切换回桌面端继续其他任务前记得断开已建立好的远程 WebDriver Connection ,否则可能导致资源占用问题 。另外需要注意的是如果中途终止了 Appium inspector 则无需担心未清理干净的问题因为它本身会在退出的候自动处理掉关联 sessions [^4].
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值