1. 打开手机USB 调试开关 2. 执行: adb devices 3.启动你的测试APP (如手机QQ) 4.执行:adb shell dumpsys window |findstr mCurrent…
看到一篇很好的博客:[Android测试][随笔]获得App的包名和启动页Activity 除了博客上的方法,我还找到两种方法: 方法一:aapt 前提需要使用SDK Manager.exe 下载 Android SDK Build-tools.这里可以选择任意版本的 build-tools进行下载,我下载的是 23.0.1版本. 下载好之后,就可以在SDK的build-tools下找到工具 aapt.exe,我的路径就是:D:\android-sdk_r23.0.2-windows\andro…
原文:Android手机app启动的时候第一个Activity必须是MainActivity吗 Android手机APP启动的第一个Activity是可以自己设置的,不是必须的MainActivity,可以是任何的Activity. 设置Android手机APP启动的第一个Activity得看Android项目里的mainfest.xml文件: android.name属性值是由包名(com.example.login)+启动的Activity类名(Login)组成的,如果要修改APP启动的第一…
别人写的就收藏了: MonkeyRunner 之如何获取APP的Package Name和Activity Name http://www.mamicode.com/info-detail-512788.html…
方法一: ①手机通过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…
需求描述 在应用Application1中存在A.B两个activity,当在应用启动了A.B activity,点击Recent键,如何让A.B两个activity都显示在Recent界面(最近任务)? 需求分析 根据Android SDK介绍,Recent中是管理最近的任务(Task):熟悉Activity的可以知道Activity是隶属于某个Task的,不熟悉Activity的可以阅读下面的帖子: http://blog.csdn.net/ff20081528/article/detail…
0x01 Android Intents with Chrome Android有一个很少人知道的特性可以通过web页面发送intent来启动apps.以前通过网页启动app是通过设置iframe的src属性,例如: <iframe src="paulsawesomeapp://page1"> </iframe> 此方法适用version 18或者更早版本.其他android浏览器也适用. 这个功能在安卓chrome 浏览器version 25之后版本发生了改变…
1.   adb adb连接手机参考:https://www.cnblogs.com/mind18/p/12592252.html,中的三.5节 1.1.  adb介绍 ADB全名Andorid Debug Bridge. 是一个Debug工具.adb是一个标准的C/S结构的工具,其允许电脑与模拟器实例或连接的 Android 设备进行通信.它可为各种设备操作提供便利,如安装和调试应用. 包含如下几个部分: 1.Client端,运行在开发机器中,即你的开发PC机.用来发送adb命令. 2.Dae…
之前在做appium自动化测试的时候,参考网上的例子,运行安卓系统自带的app,所以,就需要获取系统自带的package(包名)和activity.这里简单记录一下,不一定适合所有的系统应用. 运行环境:Windows  夜神模拟器(安卓4.4.2) 目标:获取夜神模拟器自带的相机应用 方法: 一.查看相机app的名称 1.运行cmd窗口,连接夜神模拟器 adb connect 127.0.0.1:62001 adb devices (查看是否连接成功) 2.进入安卓系统后台,并进入到系统自带a…
以下内容为原创,欢迎转载,转载请注明 来自天天博客:http://www.cnblogs.com/tiantianbyconan/p/5017056.html 从Launcher开始启动App流程源码分析 com.android.launcher.Launcher就是我们的Launcher页面了,可以看到Launcher其实也是一个Activity: public final class Launcher extends Activity implements View.OnClickListe…
ActivityManagerService是如何启动app 一.      上一篇文章app的启动过程,说明了launcher启动app是通过binber,让ActivityManagerService的startactivity来启动app的. 二.      代码不再详细贴出,只给出重要的代码 跟踪到ActivityManagerService的startactivity,执行了startActivityAsUser方法,----> ActivityStackSupervisor的star…
启动之前的准备   1.脚本执行前,需要先启动appium的server端, 启动server方法: 打开appium客户端,点击右上角的Launch     2.iOS的测试只能在mac本上做   一.Android启动app   python启动脚本如下:   from appium import webdriver   desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersi…
本来想分析AppsCustomizePagedView类,不过今天突然接到一个临时任务.客户反馈说机器界面的图标很难点击启动程序,经常点击了没有反应,Boss说要优先解决这问题.没办法,只能看看是怎么回事.今天分析一下Launcher启动APP的过程.从用户点击到程序启动的流程,下面针对WorkSpace上的快捷图标点击启动流程进行分析.(如果分不清WorkSpace是什么或者不知道快捷方式和其他图标区别,请看我前面的Launcher分析文章) PS:新建的QQ群,有兴趣可以加入一起讨论:And…
#Android 启动APP黑屏解决方案# 1.自定义Theme //1.设置背景图Theme <style name="Theme.AppStartLoad" parent="android:Theme"> <item name="android:windowBackground">@drawable/自定义显示预加载图片</item> <item name="android:windowNo…
要想在浏览器启动APP的方法例如以下: 在须要跳转的ACTIVITY中加入intent-filter的相关信息: <intent-filter>     <data android:scheme="com.example.scheme" /> </intent-filter> 实比例如以下: <activity android:name=".BrowActivity" >             <intent-…
我们上步操作基本完成,下面介绍编写Python脚本启动app 打开我们pycharm新建.py文件 第一步:输入Python脚本代码: #coding=utf-8 from appium import webdriver import time desired_caps ={ 'platformName': 'Android', 'deviceName': '127.0.0.1:62001', # 模拟器名称(真机测试:输入真机名称) 'platformVersion': '4.4.2', #…
当我们appium和Python环境都配置好了,如何启动我们第一个app呢?下面介绍appium+Python启动app的操作步骤,为了能够详细查看,我们这里使用夜游神模拟器进行示范. 测试项目:QQ 测试工具:appium.pycharm.夜游神模拟器 操作介绍: 第一步:打开我们的夜游神模拟器,然后我们的电脑上的运行(win+R),输入我们的cmd.当前是先确认我们的设备是否连接到电脑,真机连接方法同样 输入:adb devices A:如果显示下面操作,表示当前设备连接成功 B:如果连接失…
在APP开发过程中,通过外部浏览器调起APP页面的场景也很普遍使用.下面就介绍一下通过外部H5页面唤起APP中页面的通用方法. 1.首先需要在AndroidMainifest.xml中对你要启动的那个activity进行如下设置: <activity android:name=".MainActivity" android:launchMode="singleTask"> <intent-filter> <action android:…
意外找到一个本人自认为是最快获取package和activity的方法,欢迎来辩! 用adb命令快速查看某应用appPackage及appActivity的方法(前提是需要用数据线连接真机\模拟器也可): 1).先手动启动某应用: 2).然后在cmd下执行命令:adb shell dumpsys window windows | findstr "Current" 效果图如下:(部分马克,见谅) 另外补充下别的获取package和activity的方法 1.aapt dump badg…
在开发中,我们在启动app的时候,屏幕会出现一段时间的白屏或者黑屏,不同设备时间长短不同.很影响用户体验. 首先分析一下,产生这个现象的原因,当我们在启动一个应用时,系统会去检查是否已经存在这样一个进程,如果不存在,就是冷启动.系统和APP本身都有很多工作需要处理.首先系统的服务会先检查startActivity中的intent的信息,然后在去创建进程,最后才是执行启动Acitivy的操作.而我们上面提到的显示白黑屏的问题,就是在这段时间内产生的. 系统在绘制页面加载布局之前,首先会初始化窗口(…
环境搭建好了,就可以实现基本的操作,比如启动App和模拟滑动.这里我实现的是在真机(乐视1s)上启动抖音App,并滑动抖音的视频列表,代码如下: from appium import webdriver from time import sleep class Action(): def __init__(self): # 初始化配置,这里设置的是乐视1s手机的Desired Capabilities参数 self.desired_caps = { "platformName":&qu…
#coding=utf-8from appium import webdriverimport timedesired_caps = {} #列表desired_caps['platformName'] = 'Android' #安卓的desired_caps['platformVersion'] = '6.0' #安卓版本desired_caps['deviceName'] = 'Android Emulator' #模拟器Emulatordesired_caps['appPackage']…
一.Android启动app   python启动脚本如下:   from appium import webdriver   desired_caps = {} desired_caps['platformName'] = 'Android' desired_caps['platformVersion'] = '4.4' #desired_caps['app'] = os.path.abspath('/Users/a58/Downloads/zhuanzhuan_market_923.apk'…
我因为项目中集成了极光推送,推送的通知栏点开需要确定进入哪个界面就参考了这边文章,感谢作者的无私. 标签: 情况简述 在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点击动作,点击后跳转到app中对应的Activity.目前遇到的问题是Service以独立进程运行,在收到消息并弹出通知后,app本身的进程有两种情况: app正在运行 app已退出 对于第一种情…
相信大多数人一开始都会对启动app的时候出现先白瓶或者黑屏然后才进入第一个界面,例如:SplashActivity.那这是什么原因造成的呢? <style name="Splash_Theme" parent="@android:style/Theme.NoTitleBar"> </style> 原因是我们给改Activity/Application设置的主题引起的,因为该主题相对应的windowBackground等背景被设置成了白色或者黑…
情况简述 在开发Android app的过程中,遇到这样一个需求:app中启动一个Service,该Service在独立进程中运行,与服务器保持长连接,将服务器推送过来的消息在通知栏中显示,并设置点击动作,点击后跳转到app中对应的Activity.目前遇到的问题是Service以独立进程运行,在收到消息并弹出通知后,app本身的进程有两种情况: app正在运行 app已退出 对于第一种情况,处理就非常简单了,直接将参数传入Intent并打开对应的Activity即可. 但第二种情况比较复杂,因…
Package Package 包.只是在我们的app中这个Package是唯一的,就像你身份证号码一样.在我们做app自动化时,我们就需要知道他的Package,我们知道了Package那么也就知道我们需要对哪个app做自动化. 注意和.apk文件包名不同. 通过uiautomatorviewer获取app包名: Activity Android中,activity是所有程序的根本,所有程序的流程都运行在activity之中,activity可以算是开发者遇到的最频繁,也是android当中最…
DSL(Domain-Specific Language) Gradle 是一个编译打包工具,但实际上它也是一个编程框架. Task 是 Gradle 中的一种数据类型,它代表了一些要执行或者要干的工作.不同的插件可以添加不同的 Task.每一个 Task 都需要和一个 Project 关联. Task 的 API 文档位于:https://docs.gradle.org/current/dsl/org.gradle.api.Task.html 任务创建 task hello { doLast…
一文带你揭秘如何采取非instrumentation启动app,打造实时统计覆盖率,一键触发覆盖率测试报告. 在上篇文章,一文带你解决Android app手工测试或者自动化测试覆盖率统计(撸代码版),我们采用了instrumentation的方式去启动app,很多人会问,如果我们不用instrumentation启动app的方式,正常启动app进行测试,然后收集覆盖率可以吗,答案,是可以的,如何做呢,下面带你去揭晓其中的奥秘. 首先呢,我们还是基于我们的工作,去申请我们的读写的权限. <use…
app自动化测试的第一步,是启动被测app.appium环境搭建好后,我们就可以连接真机启动app了.环境为windows,Appium1.18.0,Android手机,被测app为今日头条app,让我们开始吧. 一,连接手机(测试机) 通过USB线连接Android手机和电脑,打开手机的开发者模式,开启USB调试模式(方法自行百度). 打开cmd输入命令adb devices,显示连接手机的udid即为连接成功. 输入adb devices后如果List of devices attached…