`
xushans
  • 浏览: 34153 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

android上执行UI交互的junit方法

阅读更多
android上执行UI交互的junit方法
可以使用Instrumentation来测试Activity并模拟发送键盘事件交互UI操作

相关介绍如下:


JUnit TestCase类

继承自JUnit的TestCase,不能使用Instrumentation框架。但这些类包含访问系统对象(如Context)的方法。使用Context,你可以浏览资源,文件,数据库等等。基类是AndroidTestCase,一般常见的是它的子类,和特定组件关联。

子类有:

l   ApplicationTestCase——测试整个应用程序的类。它允许你注入一个模拟的Context到应用程序中,在应用程序启动之前初始化测试参数,并在应用程序结束之后销毁之前检查应用程序。

l   ProviderTestCase2——测试单个ContentProvider的类。因为它要求使用MockContentResolver,并注入一个IsolatedContext,因此Provider的测试是与OS孤立的。

l   ServiceTestCase——测试单个Service的类。你可以注入一个模拟的Context或模拟的Application(或者两者),或者让Android为你提供Context和MockApplication。

Instrumentation TestCase类

继承自JUnit TestCase类,并可以使用Instrumentation框架,用于测试Activity。使用Instrumentation,Android可以向程序发送事件来自动进行UI测试,并可以精确控制Activity的启动,监测Activity生命周期的状态。

基类是InstrumentationTestCase。它的所有子类都能发送按键或触摸事件给UI。子类还可以注入一个模拟的Intent。

子类有:

l   ActivityTestCase——Activity测试类的基类。

l   SingleLaunchActivityTestCase——测试单个Activity的类。它能触发一次setup()和tearDown(),而不是每个方法调用时都触发。如果你的测试方法都是针对同一个Activity的话,那就使用它吧。

l   SyncBaseInstrumentation——测试Content Provider同步性的类。它使用Instrumentation在启动测试同步性之前取消已经存在的同步对象。

l   ActivityUnitTestCase——对单个Activity进行单一测试的类。使用它,你可以注入模拟的Context或Application,或者两者。它用于对Activity进行单元测试。

不同于其它的Instrumentation类,这个测试类不能注入模拟的Intent。

l   ActivityInstrumentationTestCase2——在正常的系统环境中测试单个Activity的类。你不能注入一个模拟的Context,但你可以注入一个模拟的Intent。另外,你还可以在UI线程(应用程序的主线程)运行测试方法,并且可以给应用程序UI发送按键及触摸事件。

下文有范例:
http://www.open-open.com/lib/view/open1328152424546.html
分享到:
评论
2 楼 xushans 2015-05-27  
线上申请地址:
        http://wenku.baidu.com/org/browse/oplatindex
1 楼 xushans 2015-05-25  
<iframe width="604" height="610" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://j.map.baidu.com/7iJn3"></iframe>

相关推荐

    android Junit

    总结来说,Android中的JUnit测试涉及环境配置、测试类和方法编写、模拟对象、UI测试、覆盖率分析以及测试策略等多个方面。熟练掌握这些知识点,能帮助开发者编写出更健壮、更可靠的Android应用。

    android之Junit ActivityUnitTestCase 演示

    与`InstrumentationTestCase`不同,`ActivityUnitTestCase`不需要设备或模拟器,可以在没有Android运行环境的情况下运行,因为它不涉及到UI交互,而是专注于测试Activity的内部逻辑。使用`ActivityUnitTestCase`,...

    android 结合Junit进行测试.

    在Android中,我们通常使用JUnit4版本,它引入了注解(Annotations)来简化测试用例的编写,比如`@Test`用于标记测试方法,`@Before`和`@After`用于定义在每个测试之前和之后执行的设置和清理方法。 要将Junit引入...

    android junit.rar

    此外,AndroidJUnit还支持 Espresso UI 测试,可以进行UI层面的交互测试。 三、测试用例(Test Cases) 在JUnit中,测试用例通常是一个公共的、无参数的方法,由@Test注解标识。这个方法应该包含一系列断言,来验证...

    android JUnit demo

    此外,可能还会涉及到`ActivityInstrumentationTestCase2` 或 `AndroidJUnit4` 测试类,它们是Android测试库提供的测试基类,提供了启动和控制`Activity`的能力,这对于测试与`Spinner`交互的`Activity`是必要的。...

    [android]uiautomation

    然后,通过UiDevice对象来访问设备上的UI元素,利用UiSelector选择器定位到特定的UI组件,并执行相应的操作,如click()、text()等方法。 3. **UISelector详解** UISelector是UIAutomator中用于定位UI元素的关键...

    android之Junit 深入研究代码

    虽然Junit可以满足基本的单元测试需求,但针对Android特定的测试,如UI交互,我们还需要结合`AndroidTestCase`和Espresso。`AndroidTestCase`是Android提供的基础测试类,它可以访问Android系统服务和运行在真实设备...

    Android Studio中进行单元测试和UI测试

    然后,你可以创建一个新的UI测试类,继承自`androidx.test.ext.junit.runners.AndroidJUnit4`。例如,要测试一个登录界面,你可以模拟点击用户名和密码输入框,输入文本,然后点击登录按钮,并检查结果视图是否正确...

    Android JUnit单元测试实例

    例如,我们可以使用`androidx.test.espresso`库进行UI测试,验证用户界面的交互行为。`@UiThreadTest`注解用于在主线程上执行测试,而`@UiThreadTest`则允许我们在后台线程上运行测试。 为了运行这些测试,开发者...

    android之Junit ActivityUnitTestCase 剖析

    此外,`ActivityInstrumentationTestCase2`还支持`UiThreadTest`注解,这意味着测试方法可以在UI线程上运行,这对于需要检查UI更新或监听事件的情况非常有用。为了自定义启动Activity的行为,可以使用`...

    Android Junit使用

    `@UiThreadTest`强制测试在主线程上执行,模拟用户交互;`@TestRule`可以定义自定义的测试规则,例如`InstantTaskExecutorRule`可以确保Room数据库操作立即执行;`@Mock`则用于创建模拟对象,替代真实依赖,以便于...

    Android之开发灯泡交互应用

    在Android平台上,开发一款灯泡交互应用涉及到许多关键知识点,这些知识点构成了移动应用开发的基础。首先,我们需要理解Android SDK(Software Development Kit),它是用于构建、调试和发布Android应用程序的工具...

    解决Android8.0以上运行不了uiautomatorviewer的办法.rar

    它们提供了类似的UI元素检查功能,可以在新版本的Android上工作。 另外,如果你正在使用Android Studio,从3.2版本开始,UI Automator Viewer已被集成到Layout Inspector中。只需在运行的应用上右键点击并选择...

    android 抽奖完整代码,漂亮的UI

    总的来说,这个"android 抽奖完整代码"项目涵盖了Android开发中的UI设计、动画实现、随机数生成、逻辑控制、代码组织和测试等多个方面,对于学习Android应用开发,特别是涉及到交互和动画效果的开发者来说,是一个很...

    android-ui-test-runner-master.rar

    `android-ui-test-runner`是一个专门针对Android应用UI测试的框架,它构建于JUnit和Espresso之上,提供了更高级别的抽象,使得编写和执行UI测试更加便捷。Espresso是一个强大的UI测试库,允许开发者编写直观、简洁的...

    android junit测试

    而仪器测试则是在模拟器或实际设备上运行的测试,可以覆盖更多的应用场景,包括UI交互等。 #### 二、JUnit的基本功能及实现机制 JUnit的核心功能主要包括: 1. **管理测试用例**:通过`TestSuite`类组织和管理多...

    用Junit对Android应用进行单元测试

    在Android环境中,我们通常使用AndroidJUnit Runner,这是Android Studio集成的一种测试框架,兼容JUnit4,可以方便地在模拟器或真实设备上运行测试。 **步骤1: 创建被测试的应用** 在本例中,SimpleCalc应用有加法...

    android单元测试和UI测试示例代码

    在这个"android单元测试和UI测试示例代码"的压缩包中,我们很可能会找到使用JUnit和Espresso这两个工具进行测试的代码示例。 JUnit是Java编程语言中广泛使用的单元测试框架,也适用于Android。它提供了编写和执行...

    AndroidUI自动化被测程序

    JUnit是一个广泛使用的Java单元测试框架,而Espresso则是Google推荐的Android UI测试工具,它提供了一套简洁的API,可以直接与屏幕上的UI元素进行交互。通过Espresso,我们可以编写出清晰、直接的测试代码,确保应用...

Global site tag (gtag.js) - Google Analytics