androidactivity测试
❶ Android Activity生命周期都该做哪些事情
一、基础
1.1自己创建的activity必须要继承类Activity(或其子类)。在activity里,为了实现activity各种状态的切换,你必须实现指定的回调方法。以下是最为重要的两个回调方法
onCreate():
这是必须实现的回调方法,启动一个 activity时会首先调用此方法。因此,在onCreate()的方法体里,你应该初始化该activity必要的控件。值得注意的是,在这里你必须调用setContentView(View view)方法去呈现用户的界面。
onPause():
在用户将要离开activity时调用此方法(指的是此时activity处于半透明状态且没有获取用户的焦点)。通常在这样的状态下,你需要处理用户数据的提交、动画处理等操作。
1.2销毁activity
你可以调用finish()方法去销毁一个activity。同样得,你可以调用finishActivity()方法去销毁一个你刚刚启动的activity。
tips:
在多数情况下,你是不需要显式地调用finish…()方法去销毁一个activity。在将要讨论到的activity生命周期里,你可以知道,Android系统会为你管理activity的生命周期,所以你并不需要显式销毁activity(即调用finish类方法)。显式地调用finish类方法,会对用户的体验产生不利的影响,除非你确实是不希望用户返回到此activity(界面),才去显式调用finish类方法。
二、认识activity的生命周期
2、1
Activity的生命周期对它的任务、backstack和与此有关联的activity有着直接的影响。因此想开发出一个健壮的有弹性的Android程序,你需要学会如何去管理activity的生命周期(即调用各种回调方法)。
activity的生命周期主要包含一些三种状态:
(1)运行态(Resumedstate)
此时Activity程序显示在屏幕前台,并且具有焦点,可以与用户的操作进行交互,如向用户提供信息、捕获用户单击按钮的事件并做处理。
(2)暂停态(PausedState)
此时Activity程序失去了焦点,并被其他处于运行态的otherActivity取代在屏幕显示,但otherActivity程序并没有覆盖整个屏幕或者具有半透明的效果—此状态即为暂停态。处于暂停态的Activity仍然对用户可见,并且是完全存活的(此时Activity对象存留在内存里,保留着所有状态与成员信息并保持与窗口管理器的连接)。如果系统处于内存不足的情况下,会杀死这个Activity。
(3)停止态(StoppedState)
当Activity完全被另一个otherActivity覆盖时(此时otherActivity显示在屏幕前台),则处于停止态。处于停滞态的Activity依然是存活的(此时Activity对象依然存留在内存里,保留着所有的状态和与成员信息,但没有与窗口管理器保持连接),而且它对用户是不可见的,如果其他地方需要内存,系统会销毁这个Activity。
处于暂停态(PausedState)或者停止态(Stopped State)的Activity,系统可以通过调用finish()方法或者直接终止它的进程来销毁此Activity(从内存中清楚此Activity对象)。被finish()或者销毁的Activity再重新打开时,是需要再次初始化此Activity的。
2、2
当一个Activity从一种状态转到另一种状态时,会通过调用回调方法来通知这种变化。这些回调方法都是可以重写的,你可以根据程序的的需要来选择重写对应的回调方法。以下列出了Activity生命周期里的基本回调方法:
public class ExampleActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
}
@Override
protected void onStart() {
super.onStart();
// The activity is about to become visible.
}
@Override
protected void onResume() {
super.onResume();
// The activity has become visible (it is now "resumed").
}
@Override
protected void onPause() {
super.onPause();
// Another activity is taking focus (this activity is about to be "paused").
}
@Override
protected void onStop() {
super.onStop();
// The activity is no longer visible (it is now "stopped")
}
@Override
protected void onDestroy() {
super.onDestroy();
// The activity is about to be destroyed.
}
}
笔记:在方法体里,必须先调用父类对应的实现方法super.Xxx(),再执行其他的操作(如上面代码所示)。为了习惯,下面也提供一些代码来测试一些这些方法的使用,在博客的最后面。
总的来说,这些回调方法定义了Activity整个生命周期。在生命周期里通过重写这些回调方法,,你可以监控以下下三个嵌套的方法循环。
完整存活的时间:
Activity的完整存活的时间是自第一次调用onCreate()开始,直至调用onDestroy()为止。Activity在onCreate()中设置所有“全局”状态以完成初始化,而在onDestroy()中释放所有系统资源。例如,如果Activity有一个线程在后台运行从网络下载数据,它会在onCreate()创建线程,而在 onDestroy()销毁线程。
可见状态的时间:
Activity的可见状态是自onStart()调用开始直到相应的onStop()调用结束。在此期间,用户可以在屏幕上看到Activity,尽管它也许并不是位于前台或者也不与用户进行交互。在这两个方法之间,我们可以保留用来向用户显示这个Activity所需的资源。例如,当用户不再看见我们显示的内容时,我们可以在onStart()中注册一个BroadcastReceiver来监控会影响UI的变化,而在onStop()中来注消。onStart() 和 onStop() 方法可以随着应用程序是否为用户可见而被多次调用。
显示在前台的时间:
Activity的前台显示是自onResume()调用起,至相应的onPause()调用为止。在此期间,Activity位于前台最上面并与用户进行交互。Activity会经常在暂停和恢复之间进行状态转换——例如当设备转入休眠状态或者有新的Activity启动时,将调用onPause() 方法。当Activity获得结果或者接收到新的Intent时会调用onResume() 方法。
❷ Android studio怎么创建测试类
1、在android
studio中进行打开一个项目的文件,然后在java的文件下进行创建一个activity的文件,进行选中目录文件。
2、进行点击android
studio软件菜单的“file”的选项。
3、就会弹出了下拉的菜单中,进行选择菜单中的“new”的选项。
4、点击完new的选项,就会弹出了下一级的菜单中进行选择一个为“activity”的选项。
5、在activity中提供了多个activity的模板的文件,可以进行使用这些模板进行创建activity的文件。
6、就会弹出了一个activity的窗口的,在activity
name的名称中进行输入昵称,然后直接进行点击“finish”的选项。
7、这样在项目中的activity的创建成功了,这个activity的登录界面就创建成功了。
❸ android中如何对一个包含调用数据库的activity进行单元测试啊
定义一个Test测试工程,在新建里有一个Android Test Object,里面指定你要测试的工程,以后就自己网络一下它怎么用吧,它可以对Android数据库的操作进行测试。
❹ android单元测试:要测试的activity不是第一个启动的,是在首页中点击一个按钮跳转到第二个画面才启动的。
可以在首页的 onCreate 方法里直接用代码跳转到要测试的页面。当然,是临时代码,记得要删除它。
❺ 如何判断android的activity是否运行
当前的Activity只会有一个的
首先你要知道Activity的四种状态:
Active/Runing 一个新 Activity 启动入栈后,它在屏幕最前端,处于栈的最顶端,此时它处于可见并可和用户交互的激活状态。
Paused 当 Activity 被另一个透明或者 Dialog 样式的 Activity 覆盖时的状态。此时它依然与窗口管理器保持连接,系统继续维护其内部状态,所以它仍然可见,但它已经失去了焦点故不可与用户交互。
Stoped 当 Activity 被另外一个 Activity 覆盖、失去焦点并不可见时处于 Stoped 状态。
Killed Activity 被系统杀死回收或者没有被启动时处于 Killed 状态。
protected void onStart() 该方法在 onCreate() 方法之后被调用,或者在 Activity 从 Stop 状态转换为 Active 状态时被调用,一般执行了onStart()后就执行onResume()。
protected void onResume() 在 Activity 从 Pause 状态转换到 Active 状态时被调用。
❻ Android怎么直接发AT命令测试
一、准备测试环境及测试文件
1、安装Java JDk,设置好环境变量
2、安装Android SDK,设置好环境变量(详细步骤略)
3、准备被测apk及测试所需的一些工具
二、启动模拟器,并解锁
批处理脚本:
emulator -avd Galaxy4.2 ::启动模拟器
ping -n 90 127.0.0.1>nul ::等待模拟器启动成功,-n 90 为等待时间,建议设置大一点
adb shell input keyevent 82 ::模拟器打开后都会锁屏,adb模拟键盘输入,解锁
ping -n 2 127.0.0.1>nul
三、脚本参数初始化
代码如下:
set appName=TestAndroid.apk ::被测程序名称
set pkgName=com.example.testandroid ::被测程序包名
set openName=com.example.testandroid.MainActivity ::被测试程序主activity
set "times=%1" ::测试次数,脚本传入参数
x blat.exe C:\Windows\System32\ /Y ::将邮件工具复制到系统文件夹下,需关闭360卫士
四、循环执行安装打开关闭卸载
echo 测试开始>source.txt ::创建一个source文件记录日志
for /l %%a in (1,1,%times%) do (
adb install TestAndroid.apk ::安装apk
adb shell am start -W -n %pkgName%/%openName% ::打开apk
call cmd /c close.bat %pkgName% ::关闭apk
adb uninstall %pkgName% ::卸载apk
adb logcat -d |findstr "^D/k.*}\>" ::过滤logcat,获取需要的内容
adb logcat -c ::清除logcat日志
taskkill /f /im adb.exe)>>source.txt ::结束adb进程,防止占用source文件
::每次操作日志都记录在source中
五、处理source.txt提取关键信息,并发送邮件
六、设置windows定时任务,参数填写为测试次数,完成。
❼ 如何判断android activity是否运行
判断android activity是否运行(可见)方法如下:
public static boolean isActivityRunning(Context mContext,String activityClassName){
ActivityManager activityManager = (ActivityManager) mContext.getSystemService(Context.ACTIVITY_SERVICE);
List<RunningTaskInfo> info = activityManager.getRunningTasks(1);
if(info != null && info.size() > 0){
ComponentName component = info.get(0).topActivity;
if(<span style="font-family: Arial, Helvetica, sans-serif;">activityClassName</span>.equals(component.getClassName())){
return true;
}
}
return false;
}
❽ 安卓自动化测试怎么获取当前正在运行activity
android开发中获取当前的Activity有多种情况; 在Activity中,this就是当前的Activity,例如this.startActivity。 在Fragment中可以通过 getActivity()来得到当前装载这个Fragment的Activity。 通过Activity堆栈来获取当前显示的这个ActivityAc。详细的可以看看安卓巴士教程:http://www.apkbus.com/thread-462912-1-1.html
❾ 如何测试android activity的生命周期
1 一个activity从创建到显示调用顺序
2 按返回键退出activity
3 从应用管理中“强行停止”
4 按返回退出后长按home键调出应用 或 点击应用重新进入
5 按主页键退出 然后长按home键调出应用 或 点击应用重新进
6 finish()操作
7 menu,submenu,dialog显示并返回
8 切换到另一个activity
9 8步骤后 按返回键
10 9步骤后 切换到同一个activity
11 10步骤后 按主页键返回
12 11步骤后 重新点击应用进入
13 应用中来电
14 13步骤 后挂断返回应用
15 当activity2 设置 android:theme="@android:style/Theme.Dialog" 切换到activity2显示
16 15步骤后 按返回键返回