Android 自动化测试工具初探

标签: geek | 发表时间:2016-10-03 08:00 | 作者:
出处:http://itindex.net/admin/pagedetail

Android 自动化测试工具初探

前言

   这段几乎都编写代码,没有新的心得体会.唯一由感想的是在测试上.由于策划的变动,接口的完善等因素,总在不停的修改功能,修改代码.由于项目中的代码都经过了好多少,又没有很好的架构规划.所以在修改或测试的时候难免会有遗漏的地方,这个时候就在想android是不是也应该有自动化测试工具来辅助测试.使得功能更完善点.本期的创新文档只能算是对自动化创新工具的一种简介.

1.Robotium

Robotium是一款测试Android App的测试框架,是基于Android测试框架InstrumentationTestCase2进行的2次封装,把一些基本操作又简化了一遍。它使得编写黑盒测试代码更加容易和稳定。通过使用Robotium,测试用例开发人员能够跨越多个Activity,开发出功能,系统以及验收测试用例。

1)建被测试用例

编写简单的被测试用例并安装到测试机器上.

 

Android 自动化测试工具初探

Android 自动化测试工具初探

 

2)创建测试用例

打开eclipse,选择File->New->Project…->Android Test Project创建DemoTest测试项目。并导入robotium-solo-1.6.0.jar的jar包

 

Android 自动化测试工具初探

       创建测试用例DemoTest.java并继承ActivityInstrumentationTestCase2类,并在testDisplay方法中编写模拟测试步骤.代码如下:

 

public classDemoTest extendsActivityInstrumentationTestCase2{

 

    privateSolosolo;

    privateActivityactivity;

 

    publicDemoTest() {

       super("com.demo", DemoActivity. class);

    }

 

   @Override

    protected voidsetUp() throwsException {

       super.setUp();

 

      activity= this.getActivity();

      solo= newSolo(getInstrumentation(), this.activity);

    }

 

   @Override

    public voidtearDown() throwsException {

       try{

          solo.finalize();

       } catch(Throwable e) {

           e.printStackTrace();

       }

      activity.finish();

       super.tearDown();

    }

 

    public voidtestDisplay() throwsException {

      //模拟输入

      solo.enterText(R.id. editText,"刘峥");

      

      //模拟点击

      solo.clickOnButton("login");

    }

}

3)运行测试用例

选择测试工程DemoTest右击,选择Run As->Android JUnit Test运行测试程序,此时Robotium将会按照用例中编写的模拟测试轨迹来执行,其执行的结果如下图.

Android 自动化测试工具初探

备注:更详细的资料可以在 http://code.google.com/p/robotium/中获取.

此外再介绍一款测试用具android monkey

Monkey是一个命令行工具,可以运行在模拟器里或实际设备中。它向系统发送伪随机的用户事件流,实现对正在开发的应用程序进行压力测试。Monkey包括许多选项,它们大致分为四大类:

l 基本配置选项,如设置尝试的事件数量。

l 运行约束选项,如设置只对单独的一个包进行测试。

l 事件类型和频率。

l 调试选项。

 

  在Monkey运行的时候,它生成事件,并把它们发给系统。同时,Monkey还对测试中的系统进行监测,对下列三种情况进行特殊处理:

 

l 如果限定了Monkey运行在一个或几个特定的包上,那么它会监测试图转到其它包的操作,并对其进行阻止。

l 如果应用程序崩溃或接收到任何失控异常,Monkey将停止并报错。

l 如果应用程序产生了应用程序不响应(application not responding)的错误,Monkey将会停止并报错。

 

按照选定的不同级别的反馈信息,在Monkey中还可以看到其执行过程报告和生成的事件。

相关 [android 自动化 测试] 推荐:

Android Robotium自动化测试

- - CSDN博客移动开发推荐文章
1、官方网站下载测试工程demo. 从 http://code.google.com/p/robotium/downloads/detail?name=ExampleTestProject_v3.6.zip 下载官方的Android测试工程demo. 解压后的文件NotePad、NotePadTest、readme.txt.

Android UiAutomator 自动化测试

- - 操作系统 - ITeye博客
一、一个BUG引发的问题.     如果研发过程中有一个BUG:“不断的切换手机语言出现花屏现象”. 我想,最好的方式应该是自动化测试.     那么,自动化测试可以完成哪些任务呢.     简单的说,那些重复性的测试工作,都可以交给自动化完成:.         1、设置手机的语言.         2、添加、删除、收藏联系人.

Android自动化测试解决方案

- Haides - InfoQ中文站
现在,已经有大量的Android自动化测试架构或工具可供我们使用,其中包括:Activity Instrumentation, MonkeyRunner,Robotium,以及 Robolectric. 另外LessPainful也提供服务来进行真实设备上的自动化测试.

Android 自动化测试工具初探

- - IT瘾-geek
Android 自动化测试工具初探.    这段几乎都编写代码,没有新的心得体会.唯一由感想的是在测试上.由于策划的变动,接口的完善等因素,总在不停的修改功能,修改代码.由于项目中的代码都经过了好多少,又没有很好的架构规划.所以在修改或测试的时候难免会有遗漏的地方,这个时候就在想android是不是也应该有自动化测试工具来辅助测试.使得功能更完善点.本期的创新文档只能算是对自动化创新工具的一种简介..

淘宝Android自动化测试框架 – TMTS

- wangdei - Taobao QA Team
2010年是淘宝无线突飞猛进开创无线新业务的一年. 而从2011年初开始,淘宝技术质量部自动化测试组便致力于手机自动化框架的调研和开发工作. TMTS(Taobao Mobile Test System)框架,正是尝试从Android和IPhone入手,建立无线测试领域的自动化测试整体解决方案. 经过前段时间的开发,及业务线试用,TMTS框架Android部分已经趋于稳定.

基于 Appium 的 Android UI 自动化测试

- - 美团点评技术团队
自动化测试是研发人员进行质量保障的重要一环,良好的自动化测试机制能够让开发者及早发现编码中的逻辑缺陷,将风险前置. 日常研发中,由于快速迭代的原因,我们经常需要在各个业务线上进行主流程回归测试,目前这种测试大部分由人工进行,费时费力,重复劳动多. 如果能将UI自动化测试与主流程回归结合到一起,一方面保证了代码质量,另一方面大大节约人力成本,可谓一举两得.

关于Android的自动化测试,你需要了解的5个测试框架

- - ITeye博客
Appium是一个开源的移动测试工具,支持iOS和Android,它可以用来测试任何类型的移动应用(原生、网络和混合). 作为一个跨平台的工具,你可以在不同的平台上运行相同的测试. 为了实现跨平台的功能,Appium使用了供应商提供的Android UI框架来实施测试:在iOS中使用XCTest,在Android中使用UIAutomator或Instrumentation.

iPhone App自动化测试

- BeerBubble - Taobao QA Team
         无线客户端的发展很快,特别针对是android和ios两款无线操作系统的客户端应用,相应的测试工具也应运而生,这里主要给大家介绍一些针对iPhone App的自动化测试工具.          首先,我们把这些测试框架分为三大类:接口测试工具、注入式UI测试工具、录放式UI测试工具.

Robotium 自动化测试

- - CSDN博客推荐文章
Robotium 自动化测试. Android Studio环境下,在所要测试的Module的build.gradle文件下添加,. Robotium即是对Instrumentation框架方法的封装,所以使用之前需要继承测试类,重写构造器,setUp()和tearDown()方法. 其中继承的是ActivityInstrumentationTestCase2测试类.

Android单元测试

- - CSDN博客推荐文章
    单元测试不管对于初学编程还是已经工作了很久的开发者来说,都不乐意花时间去写认为没用的代码进行测试,只要交给测试人员就行了,虽然这样也能把软件改出来,但也许你要花上几倍的时间去修改问题,如果在开发的过程中花点时间去写单元测试代码,把尽可能出问题的地方都测试一遍,把问题扼杀在最开始的地方,这样你就不必为后来找问题出处而烦恼.