
Android自动化
lychbeyond
这个作者很懒,什么都没留下…
展开
-
Android自动化测试(Jenkins+Robotium+Ant+Junit)[PART one]
前期的环境搭建和代码网上有很多资料,在这里我就不一一细说了,详细说一下我在整个过程中遇到的问题。自动化测试一般的过程:写testcase;执行testcase;记录log;xml转化为html;1、 java.lang.ExceptionInInitializerError我在整个的测试过程中碰到过还几次这个error,开始查了很多资料,没有解决,最后发现是路径的问题,转载 2014-07-21 16:00:09 · 498 阅读 · 0 评论 -
雾山的Robotium学习笔记---typeText与enterText的区别 .
solo.typeText和solo.enterText方法都可以对EditeText进行测试,实现过程存在几点不同:1,字面上:type是按键输入;enter就是回车,那你输入后的东西键入进去2、实现上:typeText方法是robotium框架调用系统Instrumentation类里面的sendStringSync方法来实现的;enterText是调用TextView里面se转载 2014-07-04 14:46:56 · 1345 阅读 · 0 评论 -
robotium使用笔记
1、多个测试用例运行时实际上是有顺序的,显示含有测试方法的类按照字母排序,同一个类里面的测试方法再按照字母排序,依次执行。所以可以通过添加前缀(A_,B_)等等调整测试顺序,让测试例子更符合渐进逻辑。 2、继承问题,理论上测试类可以继承ActivityInstrumentationTestCase2或者是它的子类,但是需要注意的是,如果是继承子类,那么子类中的测试方法在运行这个测试类的时候转载 2014-07-30 15:32:07 · 576 阅读 · 0 评论 -
Robotium学习笔记二
一、 控制测试用例的执行顺序采用TestSuit方式来控制每条Case的运行顺序Demo如下public static Test suite() {TestSuite suite = new TestSuite();//$JUnit-BEGIN$suite.addTestSuite(CopyOfTestApk.class);//$JUnit-END$return s转载 2014-07-30 15:29:03 · 495 阅读 · 0 评论 -
当只有一个APK的时候使用robotium进行自动化测试_测试Toast
当只有一个APK的时候使用robotium进行自动化测试一. 准备工具1. 准备重签名工具:http://www.troido.de/re-sign.jar(在mac上没办法用,只能在windows上用)2. 下载robotium.jar http://code.google.com/p/robotium/downloads/list 3. 搭建测试环境转载 2014-07-30 15:37:39 · 578 阅读 · 0 评论 -
Robotium学习笔记三
以下是从网络上抄录的一些Robotium注意事项1)有些button没有string,没有text,只能通过index来click这样很不直观,而且button的index并不是固定的,有可能随着控件重新加载,顺序也有可能发生变化,无法保证测试结果。查看了robotium源码,发现大多数click方法最终都是通过传入参数转成view,再调用clickOnView,于是参照着写了一个通过转载 2014-07-30 15:29:48 · 419 阅读 · 0 评论 -
在Robotium中使用ID
在robotium中api中不提供使用id的方式。如果我们想在robotium中使用id就需要自己通过id来找到控件的实例,然后通过robotium的api对实例进行操作来达到目的。当然了。如果有童鞋有兴趣也可以自己将这个封装起来以便使用。在说方法之前,我不得不先说说id的几种形式:1.字符串形式。例如id/btn_Example我们在源码的布局里面写的,HierarchyView转载 2014-07-30 15:34:15 · 461 阅读 · 0 评论 -
用Robotium 去实现点击imageview
用Robotium 去实现点击imageview今天用rototium做自动化遇到imageview无法点击的问题,最终解决如下: 有两种方法:1.View v = solo.getView(R.id.iv_main_setting); solo.clickOnView(v);2. for (View v : solo.getCurrent转载 2014-07-30 15:24:34 · 555 阅读 · 0 评论 -
Robotium学习笔记一
一、 重签名问题1、从手机Pull所需的apk通过压缩工具删除META-INF目录2、通过以下命令行进行签名>jarsigner -keystore "C:\Documents and Settings\ey\.android\debug.keystore" -storepass android -keypass android D:\Mms.apk androiddebugkey转载 2014-07-30 15:32:57 · 485 阅读 · 0 评论 -
Failed to install xxx.apk on device 'emulator-5554': timeout
在使用android-junit-report-1.5.8.jarFailed to install XXX.apk on device 'emulator-5554': timeout集成运行robotium test case过程中,出现连接虚拟机超时现象:解决方法如下:1.检查AdroidManifest.xml文件中 android:targetSdk原创 2014-09-04 10:57:56 · 3195 阅读 · 0 评论 -
Android自动化测试之Robotium<二>:用例分析
Android自动化测试之Robotium:用例分析发表于:2012-08-28来源:Csdn作者:wirelessqa点击数: 4110标签:Android如果大家配置好了Robotium的测试环境,那么开始吧(这里只介绍有源码的情况,没有源码也是可以做的) 被测应用下载:http://download.youkuaiyun.com/detail/wirelessqa/4487252转载 2014-09-10 14:51:23 · 771 阅读 · 0 评论 -
Android的log保存到文件上查看
x 在调试的时候一般都是在logcat中看日志的信息,以便找出BUG和调试信息,但是如果在真机上的话不可能一直连接电脑查看日志,所以生成日志文件并保存,是一个比较普遍的需求,下面就是最近实现的一个例子。欢迎大家讨论并给出别的思路。import java.io.BufferedReader;import java.io.File;import java.io.FileInputS转载 2014-09-24 15:40:26 · 834 阅读 · 1 评论 -
Test run failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'
在使用android-junit-report-1.5.8.jar集成运行robotium test case过程中,出现集成错误:Test run failed: Instrumentation run failed due to 'java.lang.ClassNotFoundException'原创 2014-09-04 13:12:33 · 4165 阅读 · 0 评论 -
如何将android项目打包成apk
1.)生成keystore按照下面的命令行 在C:\Program Files\Java\jdk1.6.0_10\bin>目录下,输入keytool -genkey -alias android.keystore -keyalg RSA -validity 100000 -keystore android.keystore参数意义:-validity主要是证书的有效期,写10000转载 2014-12-26 14:35:19 · 570 阅读 · 0 评论 -
Android如何用命令行进行打包
Android应用开发一般都使用集成开发工具比如eclipse或者android studio进行打包,但是如何不用这些集成开发工具进行命令行打包呢?百度经验:jingyan.baidu.com工具/原料Android SDKJDKAuto sign百度经验:jingyan.baidu.com方法/步骤1把转载 2014-12-26 14:36:49 · 767 阅读 · 0 评论 -
如何利用jenkins来做android自动化
概述持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快地发现集成错误。许多团队发现这个过程可以大大减少集成的问题,让团队能够更快的开发内聚的软件。其中包含一些代码静态检查工具,自动打包和自动测试功能。持续集成流程环境配置启动Jenk转载 2014-12-26 15:00:36 · 374 阅读 · 0 评论 -
雾山的Android学习笔记---Intent
在android平台中,Activity组件之间的交互通过意向(Intent)来实现。Intent是android的组件之一(激活组件,用于激活其他组件),Intent对象在android系统中代表一种意图,Intent中最重要的内容是action与data使用Intent对象传递数据的步骤:1)在Activity之间可以使用Intent对象传递数据2)使用putExtra()系列转载 2014-07-04 15:11:29 · 407 阅读 · 0 评论 -
雾山的Robotium学习笔记---环境搭建及入门示例
Robotium是一款基于控件的Android自动化测试框架环境搭建(window):安装JDK以及集成Android Sdk的eclipise。入门:1,下载Robotium Solo 5.1,点我下载2,开启eclipse,并导入工程(代码在最下面)3,创建测试工程new --- project --- Android Test Project转载 2014-07-04 15:01:10 · 769 阅读 · 0 评论 -
雾山的Android学习笔记---消息机制(三) .
从Main Thread 向Worker Thread发送消息总共分成三个步骤:1,准备Looper对象2,在Worker Thread当中生成Handler对象3,在Main Thread当中发送消息下面举个例子来说明:开发步骤: 1,新建一个Android应用程序 2,在布局文件中添加一个Button控件标签,并为其设置属性和值 3,在Activity中,声明B转载 2014-07-04 15:02:57 · 489 阅读 · 0 评论 -
Robotium API 翻译(二)——除click/clickLong外的其他操作
拖动操作void drag (float fromX, float toX, float fromY, float toY, int stepCount)选定两个位置,进行拖动操作(这里的拖动操作只会记录你的起点和终点,而不会理会你的运动路径)参数:fromX-起始位置的X坐标toX-终点的X坐标fromY-起始位置的Y坐标toY转载 2014-07-04 14:45:11 · 547 阅读 · 0 评论 -
雾山的Robotium学习笔记---通过Id寻找控件 .
在自动化测试中,UI上经常有一些控件是没有名称的,那么此时,就可以通过id来找到这些控件直接上案例:这是对两个EditText进行测试[java] view plaincopyprint?package com.tangbc.tedit.test; import org.junit.After; import org.junit.Before; i转载 2014-07-04 14:48:13 · 657 阅读 · 0 评论 -
雾山的Android学习笔记---消息机制(二) .
在Android中可以通过Handler,Looper,MessageQueue来实现线程之间的通信,这是Android中非常重要的功能。下面举个简单的例子来实现(模拟从网络获取数据来改变TextView的值):1,在主线程中实现Handler的handleMessage()方法2,在Work Thread中通过Handler发送消息开发步骤: 1,新建一个Android应用程转载 2014-07-04 15:06:51 · 577 阅读 · 0 评论 -
雾山的Android学习笔记---消息机制(一) .
消息机制中的角色描述:1,Looper: 一个线程可以产生一个Looper对象,由它来管理此线程里的Message Queue(消息队列)。2,Handler: 你可以构造Handler对象来与Looper沟通,以便push新消息到Message Queue里;或者接收Looper(从Message Queue取出)所送来的消息。3, Message Queue(消息队列):用来存放线转载 2014-07-04 15:06:55 · 487 阅读 · 0 评论 -
Android 自动化测试—robotium(七)Ant 构建脚本
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://xiaomaozi.blog.51cto.com/925779/932284 robotium 的脚本是 Java 写的,就可以利用 ant 去构建。当然 build.xml 文件同 Selenium WebDriver 的 build.xml 也是不同的。转载 2014-07-04 14:20:33 · 630 阅读 · 0 评论 -
雾山的Robotium学习笔记---Robotium针对apk包的测试
在使用Robotium测试的时候,有时候,测试人员并没有代码权限,而Robotium也可以在只有apk文件进行测试,下面就介绍一下这个过程。1.设置环境变量安装jdk环境和sdk环境2.安装签名文件 因为robotium要求被测应用和测试代码要有一致的签名, 所以我们需要把下载到的apk,通过re-sign.jar来产生deb转载 2014-07-04 14:29:20 · 553 阅读 · 0 评论 -
Robotium API 翻译(五)——web控件测试方法,WebElement和By类
在Robotium中,可以通过id、index、控件名称或者对应的text正则表达式来定位一个本地的控件。那么对于外部的web控件来说,在你的程序里面无法像本地控件一样找到id、index什么的,怎么来定位呢?其实Robotium提供了定位web控件的类和方法,分别在By和Solo里面。其中By是专门用来定位web属性的,Solo里面部分方法是可以用于web控件的,部分方法是专门为了web转载 2014-07-04 14:31:39 · 542 阅读 · 0 评论 -
Robotium API 翻译(四)——等待执行的方法sleep、waitFor .
测试中经常出现明明有控件或者文本,但是由于界面没有载入完成或者其他原因导致assert判断的结果失败。或者两次执行,一次成功,一次失败的情况。所以需要加入这些等待某些控件或者文本载入的方法,以加强程序执行的健壮性。sleep是固定长度时间的等待,waitFor则是等待某个控件或者文本载入后再进行下一步操作。故两者都能用的情况下,推荐waitForslee转载 2014-07-04 14:33:33 · 444 阅读 · 0 评论 -
android-junit-report工具实现android下junit框架测试自动生成报告
下面使用android-junit-report工具实现android下junit框架测试自动生成报告,并发送邮件的功能一、工具 1.android-junit-report------android下用该工具生成测试报告 download address: https://github.com/jsankey/android-junit-report/downloads转载 2014-07-04 14:39:23 · 2093 阅读 · 0 评论 -
Robotium API 翻译(三)——判断测试结果的方法assert、is、search .
下面的这些方法都主要用来判断测试结果是否与预期结果相符,一般把is和search方法放在assert里面判断。assert最常用的还是assertThat方法,是Junit的判断,这里就不多说了。断言方法assert(robotium特有的断言方式,实际项目中和Junit的assert方法配合使用)void assertCurrentActivity (String m转载 2014-07-04 14:43:58 · 483 阅读 · 0 评论 -
Robotium API 翻译(一)——click/clickLong操作 .
click&clickLong方法(点击/长按事件) ArrayList clickList(int line[,int index]) 点击当前textlist中的第line行,可以指定listview的索引,不指定时默认为第一个 参数: line-点击第几行 index-点击第几个listview,通过in转载 2014-07-04 14:46:37 · 520 阅读 · 0 评论 -
雾山的Robotium学习笔记---scroll .
上下滚动 scrollDown [html] view plaincopyprint?public boolean scrollDown() Scrolls down the screen. Returns: true if more scrolling can be performed false if it is at the end of the转载 2014-07-04 14:51:17 · 962 阅读 · 0 评论 -
雾山的Robotium学习笔记----源码的导入 .
搭建好robotium框架后,会遇到查看源码无法查看的情况,如下图因为,你新建libs然后引入robotium-solo-5.0.1.jar后,会在目录自动生成:Android Private Libraries。这个目录是受保护的,因此你要查看源码就会提示无法修改源码。你可以这样做:右键工程---Build Path---Configure Build Path转载 2014-07-04 14:52:37 · 565 阅读 · 0 评论 -
雾山的Robotium学习笔记---CheckBox,RadioGroup&RadioButton的测试方法及结果判定 .
在Android中,CheckBox和RadioButton是很常见的控件,那怎样用Robotium对该空间进行测试呢;我们在Robotium的API文档的solo类中可以看到以下两种方法,通过CheckBox和RadioButton的index值来找到该控件:[plain] view plaincopyprint?public void clickOnChec转载 2014-07-04 14:54:26 · 438 阅读 · 0 评论 -
雾山的Anrdoid学习笔记---CheckBox,RadioGroup&RadioButton .
CheckBox是Android提供的多选按钮控件,它只有true和false两种状态。在xml中默认为false(未选中),也可以这样设置[html] view plaincopyprint?android:checked="true" android:checked="true" 这样的话,就默认选中了。RadioButton为单选转载 2014-07-04 14:57:40 · 599 阅读 · 0 评论 -
雾山的Robotium学习笔记---takeScreenshot(截图)
在Robotium中,截图的方法时调用takeScreenshot()。但有使用你会发现明明代码里调用了solo.takeScreenshot(),但却没有截图成功,那是因为被测试的应用没有SD卡的权限(因为该方法会把截图保存在SD卡中)。因此要使用该方法,必须在被测工程的AndroidManifest.xml中添加如下标示:[html] view plaincopyp转载 2014-07-04 14:59:21 · 904 阅读 · 0 评论 -
使用ANT打包Android应用
大家好,今天来分享一下如何使用ANT打包Android应用。通常我们习惯用eclipse来开发Android程序,它会自动帮我们打包当前的应用程序。如果在Navigator视图下,我们可以看到以下几个文件:在上图中,com包放置的是我们的class文件,classes.dex是class文件经过转换后的可以在dalvik上跑的精简类文件,resources.ap_是经过打包的资源文转载 2014-12-26 16:37:28 · 597 阅读 · 0 评论