当前位置:网站首页>Appium自动化测试基础— 补充:App的包名(appPackage)和启动名(appActivity)
Appium自动化测试基础— 补充:App的包名(appPackage)和启动名(appActivity)
2022-06-28 00:04:00 【测试-八戒】
1、包名
包名(appPackage)在Android系统中是判断一个App的唯一标识,不同的App可以有同样的名字,但是它的包名不可以相同。
例如我可以自己编译生成一个App也叫“微信”,但是我App的包名不能为com.tencent.mm(微信的包名),如果我指定的包名和微信一致了,那么一台手机上只允许安装这两个App中的其中一个。
- 说到这很多人就会有疑问,如果有人恶意做了一个和微信内容一模一样的App,名字和包名都和微信一样,那怎么分辨呢?
Android中为了防止这样,还做了一个叫签名的东西,微信的签名一般我们是没有的,所以就可以通过签名来标识出这款App到底是谁的了,有兴趣了可以了解下签名,这里就不再赘述了。
下面我们就介绍几种查看包名的方法:
(1)看源代码
一般我们测试的App都是自己公司的App,因此当有源代码的时候,我们就可以非常容易的知道它的包名。
找到工程目录下的 “AndroidManifest.xml” 的文件(就是项目中的配置文件),打开后,如下图:

这样就可以找到package这一项查看即可。
(2)查看手机系统设置
我这里介绍谷歌原生系统,其他的一些小米、魅族等自己定制后的系统的查看方法也大同小异。
操作步骤:“设置” -> “应用” -> “正在运行”(这一步需要注意)-> 选择要查看的应用。
这个时候就能看到了,如下图:

(3)查看 /data/data/ 目录
当我们安装一款应用的时候,系统就会在 /data/data/目录下建一个目录,并且文件名就是当前这个应用的包名,我们看一下手机里这个目录下都有些什么文件吧:

如果你知道你要查看的App包名中的一个关键词的话,会更快的找到你应用的包名,否则建议使用其他方法。此方法手机需要root。
(4)GT软件
GT的界面中自带了这个功能,从应用宝上下载GT,然后选择一个被测应用,就可以看到了,如下图:

2、启动名
启动名(appActivity)也可以叫启动页。
简单的来说appActivity指的就是App中我们看到的页面,一个页面就是一个appActivity,通常第一页启动起来的页面我们就称之为 “启动页”。
我们在做自动化测试中,通常第一步都是启动被测应用,而启动的方法就是利用 “包名/启动页”,因此我们在测试的过程中通常需要知道这个appActivity的名称。
下面我就介绍几种查看启动页appActivity的方法。
(1)看源代码
同样在源代码中我们可以直接找到启动页的Activity的名称。 这里需要找工程目录下的 AndroidManifest.xml配置文件吗,文件中包含category的值为android.intent.category.LAUNCHER”的appActivity就是我们要找的:

当我们知道启动页appActivity之后,就可以直接输入命令:adb shell am start com.bryan.testbattery/com.bryan.testbattery.activity.MainActivity
拉起应用了。
(2)Logcat
关闭App,打开Logcat,然后启动你的App,这个时候仔细看log日志,一般tag为ActivityManager的会记录下这么一段log,而这里面就记录了启动页的appActivity,如下图:

(3)dump package 包名
使用命令查看后,同样是找到包含category.LAUNCHER字样的appActivity即可。

(4)Monkey
Monkey可以设置日志的详细程度,当我们指定为-VVV的时候,并且指定模拟随机事件为一次,即可查看:

重点:配套学习资料和视频教学
那么在这里我也精心准备了上述大纲的详细资料在下方链接如下


边栏推荐
- Arrays.asList()坑
- 766. 托普利茨矩阵
- 声网 VQA:将实时互动中未知的视频画质用户主观体验变可知
- MySQL十种锁,一篇文章带你全解析
- OS模块与OS.path 模块的学习
- What problems should be evaluated before implementing MES management system
- 国外LEAD赚钱的一些习惯
- [Yocto RM] 4 - Source Directory Structure
- How to understand query, key and value in transformer
- Overview of drug discovery-01 overview of drug discovery
猜你喜欢

Solon 1.8.3 发布,云原生微服务开发框架

Adobe Premiere Basics - general operations for editing material files (offline files, replacing materials, material labels and grouping, material enabling, convenient adjustment of opacity, project pa

Adobe Premiere基础-编辑素材文件常规操作(脱机文件,替换素材,素材标签和编组,素材启用,便捷调节不透明度,项目打包)(十七)
![[embedded foundation] serial port communication](/img/b7/18fec20e2d5fa5f226c6f8bb1e93d2.png)
[embedded foundation] serial port communication

frp实现内网穿透

Qu'est - ce que la numérisation? Qu'est - ce que la transformation numérique? Pourquoi les entreprises choisissent - elles la transformation numérique?

万字长文看懂商业智能(BI)|推荐收藏

数据库的新选择 Amazon Aurora

什么是数字化?什么是数字化转型?为什么企业选择数字化转型?

嵌入式必学,硬件资源接口详解——基于ARM AM335X开发板 (上)
随机推荐
什麼是數字化?什麼是數字化轉型?為什麼企業選擇數字化轉型?
Overview of drug discovery-01 overview of drug discovery
Adobe Premiere Basics - common video effects (cropping, black and white, clip speed, mirroring, lens halo) (XV)
面试官问:JS的继承
Interface component telerik UI for WPF Getting Started Guide - how to switch custom styles using themes
Database query optimization: master-slave read-write separation and common problems
Want to open an account to buy stock, is it safe to open an account on the Internet?
centos8-操作记录-命令版-yum-redis-mysql-nacos-jdk
How to read a paper
Review of drug discovery-03-molecular design and optimization
要搞清楚什么是同步,异步,串行,并行,并发,进程,线程,协程
What problems should be evaluated before implementing MES management system
Raspberry pie realizes intelligent cooling by temperature control fan
[Yocto RM]3 - Yocto Project Releases and the Stable Release Process
网络爬虫是什么
How to optimize the "message" list of IM
766. toplitz matrix
1382. balancing binary search tree - General method
TD Hero 线上发布会|7月2日邀你来
pytorch_lightning.utilities.exceptions.MisconfigurationException: You requested GPUs: [1] But...