一.使用aapt(Android Asset Packaging Tool)工具获取: 1.配置Android环境: a.添加build-tools/android路径到系统环境变量的中Path中,注意需要用分号隔开: b.添加platform-tools路径到系统环境变量中的Path中,(platform-tools在SKD中): c. 将SDK文件目录复制配置到环境变量Path中 d.验证配置是否成功:cmd-输入命令:aapt 按回车,提示:Android Asset Packaging…
本文档主要记录“获取包名和 Activity 的方法”,用于自动化测试时启动APP.以下方法主要来源于网络和社区同学的贡献,特此感谢! 1. 方法一: pm list package查看包名 adb shell pm list package -f 将获取手机内所有apk对应的包名和路径   adb shell pm list package -3 -f #获取第三方apk的包   2. 方法二:dumpsys window(本人最常用) 先打开需要查找的apk后,再敲入以上命令 adb she…
1.连接设备并启动被测试app应用 2.打开cmd窗口 3.windows获取包名和activity    adb shell dumpsys activity |find "mFocusedActivity"        获取当前activity adb shell dumpsys window | findstr mCurrentFocus       获取当前activity adb shell logcat | findstr cmp=                    …
环境配置成功后,我们就可以进行第一个自动化测试了.用真机则不需要安装安卓模拟器.以一个简单的打开APP为例. 一.获取包名和activtity      启动一个app,我们需要知道它的平台.版本号.包名.activity等信息,其中两个比较难找的是包名和activtiy,其他的直接在手机或者用Itools都可以看到. 1)在之前配置的安卓SDK文件夹中找到sdkmanager.exe并启动,勾选一个版本的build-tools并下载. 2)下载成功后,找到appt.exe,并将这个路径加到 环…
方法一: ①手机通过USB连接电脑 ②打开手机上被测app ③在电脑上 dos命令窗口,输入命令 adb shell dumpsys window w | findstr \/ | findstr name= 或 adb shell dumpsys window |findstr mCurrent 或 adb shell "dumpsys window w|grep \/|grep name=|sed 's/mSurface=Surface(name=//g'|sed 's/)//g'|sed…
一.使用adb获取单个apk的包名和Activity名称: 1.配置adb环境 a. 我的电脑点击右键-属性-高级-环境变量; b.  环境变量中新建PATH,变量值输入adb.exe工具所在目录; c.  检查是否成功,启动命令行,输入adb; 2.  手机连接电脑,开启USB调试,打开app,输入命令:adb devices,查看手机是否连接到电脑: 3.  doc窗口输入命令行:adb shell dumpsys activity | findstr "mFocusedActivity&q…
概念理解 包名:顾名思义,包名即为程序app的包名. activity名:每个界面都是一个activity. 两者关系:一个包有多个activity. Monkeyrunner中 device.startActivity("package名/activity")带入的是package名和activity入口,那么怎么获取到这两个呢? 可用重签名工具re-sign进行获取,把包拖进去,信息就出来了. 附录: 把测试包拖到re-sign进行重签名时,遇到如下问题: 解决办法: zipali…
今天遇到一个bug,比较有意思. 情景: 测试一个钻石提现功能,条件是账户里必须有价值等于或者超过50美元的钻石,才允许提现,否则无法进行下一步. 测试步骤: 提现页面输入一个小于50美元的提现金额,不点击下一步 进入手机shell,获取root权限,执行 am start -n com.cs.test/.activity.WithdrawCardListActivity,回车之后就能进入选择银行卡页面 输入银行卡卡号,下一步,提现了 这个测试的意图就是,在不满足判断条件的情况下,越过app的验…
直接上代码: import time import os import re import sys #------------------------------------------------------ #下面的代码是获取当前窗口的component参数 def getFocusedPackageAndActivity(): pattern = re.compile(r"[a-zA-Z0-9\.]+/[a-zA-Z0-9\.]+") #这里使用了正则表达式,对输出的内容做了限制…
1.获得当前应用包名 public static String getRunningActivityName(Context context) { ActivityManager activityManager=(ActivityManager) context.getSystemService(Context.ACTIVITY_SERVICE);  //完整类名 String runningActivity=activityManager.getRunningTasks(1).get(0).t…