ActivityInstrumentationTestCase2研究成果

         准备打算做一点android平台下的自动化测试,代码写好后准备进行自动化,发现自己对ActivityInstrumentationTestCase2还一点点都不太了解,不得已又返回来了解ActivityInstrumentationTestCase2的一些知识,以便后面更好的进行android平台下自动化框架的搭建和学习。

public abstract class

ActivityInstrumentationTestCase2

extends   ActivityTestCase
java.lang.Object
   ↳ junit.framework.Assert
     ↳ junit.framework.TestCase
       ↳ android.test.InstrumentationTestCase
         ↳ android.test.ActivityTestCase
           ↳ android.test.ActivityInstrumentationTestCase2<T extends android.app.Activity>

Class Overview

This class provides functional testing of a single activity. The activity under test will be created using the system infrastructure (by calling InstrumentationTestCase.launchActivity()) and you will then be able to manipulate your Activity directly.

Other options supported by this test case include:

This class replaces ActivityInstrumentationTestCase, which is deprecated. New tests should be written using this base class.

If you prefer an isolated unit test, see ActivityUnitTestCase.

Developer Guides

For more information about application testing, read the Testing developer guide.

Summary

Public Constructors
ActivityInstrumentationTestCase2( String  pkg,   Class<T> activityClass)
This constructor is deprecated. use ActivityInstrumentationTestCase2(Class) instead
ActivityInstrumentationTestCase2( Class<T> activityClass)
Public Methods
T getActivity()
Get the Activity under test, starting it if necessary.
void setActivityInitialTouchMode(boolean initialTouchMode)
Call this method before the first call to   getActivity()  to set the initial touch mode for the Activity under test.
void setActivityIntent( Intent  i)
Call this method before the first call to   getActivity()  to inject a customized Intent into the Activity under test.
Protected Methods
void runTest()
Runs the current unit test.
void setUp()
Sets up the fixture, for example, open a network connection.
void tearDown()
Make sure all resources are cleaned up and garbage collected before moving on to the next test.
[Expand]
Inherited Methods
 From class android.test.ActivityTestCase
 From class android.test.InstrumentationTestCase
 From class junit.framework.TestCase
 From class junit.framework.Assert
 From class java.lang.Object
 From interface junit.framework.Test

Public Constructors

public ActivityInstrumentationTestCase2 (String pkg, Class<T> activityClass)
Since:   API Level 3

This constructor is deprecated.
use ActivityInstrumentationTestCase2(Class) instead

Parameters
pkg ignored - no longer in use.
activityClass The activity to test. This must be a class in the instrumentation targetPackage specified in the AndroidManifest.xml
public ActivityInstrumentationTestCase2 (Class<T> activityClass)
Since:   API Level 8
Parameters
activityClass The activity to test. This must be a class in the instrumentation targetPackage specified in the AndroidManifest.xml

Public Methods

public T getActivity ()
Since:   API Level 3

Get the Activity under test, starting it if necessary. For each test method invocation, the Activity will not actually be created until the first time this method is called.

If you wish to provide custom setup values to your Activity, you may call setActivityIntent(Intent) and/or setActivityInitialTouchMode(boolean) before your first call to getActivity(). Calling them after your Activity has started will have no effect.

NOTE: Activities under test may not be started from within the UI thread. If your test method is annotated with UiThreadTest, then your Activity will be started automatically just before your test method is run. You still call this method in order to get the Activity under test.

Returns
  • the Activity under test
public void setActivityInitialTouchMode (boolean initialTouchMode)
Since:   API Level 3

Call this method before the first call to getActivity() to set the initial touch mode for the Activity under test.

If you do not call this, the touch mode will be false. If you call this after your Activity has been started, it will have no effect.

NOTE: Activities under test may not be started from within the UI thread. If your test method is annotated with UiThreadTest, then you must call setActivityInitialTouchMode(boolean) fromsetUp().

Parameters
initialTouchMode true if the Activity should be placed into "touch mode" when started
public void setActivityIntent (Intent i)
Since:   API Level 3

Call this method before the first call to getActivity() to inject a customized Intent into the Activity under test.

If you do not call this, the default intent will be provided. If you call this after your Activity has been started, it will have no effect.

NOTE: Activities under test may not be started from within the UI thread. If your test method is annotated with UiThreadTest, then you must call setActivityIntent(Intent) from setUp().

The default Intent (if this method is not called) is: action = ACTION_MAIN flags = FLAG_ACTIVITY_NEW_TASK All other fields are null or empty.

Parameters
i The Intent to start the Activity with, or null to reset to the default Intent.

Protected Methods

protected void runTest ()
Since:   API Level 3

Runs the current unit test. If the unit test is annotated with UiThreadTest, force the Activity to be created before switching to the UI thread.

Throws
Throwable  
protected void setUp ()
Since:   API Level 3

Sets up the fixture, for example, open a network connection. This method is called before a test is executed.

Throws
Exception  
protected void tearDown ()
Since:   API Level 3

Make sure all resources are cleaned up and garbage collected before moving on to the next test. Subclasses that override this method should make sure they call super.tearDown() at the end of the overriding method.

Throws
Exception  


        

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值