Android自动化测试
1、安装JDK 6、Android SDK 2.3
2、安装Eclipse 3.5.2、ADT8.0.1
https://dl-ssl.google.com/android/eclipse/
3、HelloAndroid
E:\Program Files\Android\android-sdk-windows\docs\resources\tutorials\hello-world.html
4、Android UnitTest
hello testing:
E:\Program Files\Android\android-sdk-windows\docs\resources\tutorials\testing\helloandroid_test.html
Activity testing:
E:\Program Files\Android\android-sdk-windows\docs\resources\tutorials\testing\activity_test.html
5、Robotium
Tutorial:
D:\Android\robotium\RobotiumForBeginners.pdf
http://code.google.com/p/robotium/wiki/Getting_Started
example:
http://wiebe-elsinga.com/blog/?p=300
D:\Android\robotium\ExampleTestProject_v2.0.zip
Robotium API帮助文档:
robotium-solo-2.0.2-javadoc
6、Monkey
UI/Application Exerciser Monkey
E:\Program Files\Android\android-sdk-windows\docs\guide\developing\tools\monkey.html
monkey源代码:
http://fanfq.javaeye.com/blog/781694
Android SDK源代码:
http://www.oschina.net/code/explore/android-2.2-froyo
7、MonkeyRunner
E:\Program Files\Android\android-sdk-windows\docs\guide\developing\tools\monkeyrunner_concepts.html
8、adb shell sendevent
http://blog.csdn.net/roger_ge/archive/2010/05/03/5552740.aspx
9、辅助工具
hierarchyviewer
ddms
adb
-------------------------------------------------------------------------------------------------------------
Android相关测试工具:
robotium:
http://code.google.com/p/robotium/
autoAndroid:
http://code.google.com/p/autoandroid/
Android Scripting Environment:
http://code.google.com/p/android-scripting/
BSQUARE TestQuest CountDown and TestQuest Pro:
http://www.bsquare.com/automated-testing-tools.aspx
Jamo:
http://www.jamosolutions.com/documents/android.html
Test Automation for Smart Devices - Mobile Test Automation:
http://www.deviceanywhere.com/mobile-application-testing-smart-devices.html
QTP+SeeTest:
http://experitest.com/download/
http://experitest.com/support/tutorial/how-to/set-up-new-project/connect-an-external-device-e-g-android/
http://www.advancedqtp.com/knowledge-base/articles/environment-techniques-id15/mobile-id777/test-android-with-qtp/
---------------------------------------------------------------------------------------------------------------------------
测试手段1: CTS
用来确保某设备符合Android兼容性规范。
测试手段2: Monkey
1) 应用程序的开发者可以测试自己应用的鲁棒性。
[鲁棒是Robust的音译,也就是健壮和强壮的意思。
鲁棒性(robustness)就是系统的健壮性。它是在异常和危险情况下系统生存的关键。比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。所谓“鲁棒性”,是指控制系统在一定(结构,大小)的参数摄动下,维持某些性能的特性。根据对性能的不同定义,可分为稳定鲁棒性和性能鲁棒性。以闭环系统的鲁棒性作为目标设计得到的固定控制器称为鲁棒控制器。 ]
2) 设备制造商可以使用猴子对自己的设配施行压力测试。看设备能坚持多久。
Monkey测试即可以针对全局,也可以正对某个局部(某个 Category, package等等)。
执行简单,效果明显。
测试手段3: ASE
ASE 意思为 Android 脚本环境, 即我们可以通过脚本(比如 Python)调用 Android 的功能,从而定制一些测试。比如打电话,发短信,浏览网页,等。
我们可以扩充它的API(Java 部分), 并用python 脚本调用这些 API, 从而实现丰富的测试功能。
用于API 部分可以访问到Android全部API, python又能灵活部署测试,所以 ASE 的扩展性非常好。
测试手段4: Robotium
该工具用于黑盒的自动化测试。可以在有源码或者只有APK的情况下对目标应用进行测试。
Robotimu 提供了模仿用户操作行为的API,比如在某个控件上点击,输入 Text 等等。
测试手段5: 单元测试
Android 本身带有很多单元测试例子,我们可以按需要模仿它们,针对某个应用进行单元测试。
注意 Android 的Instrument机制功能非常强大,可以测试 UI。
总结
对于 CTS/Monkey, 我们不需要开发,只要执行测试就可以了。
对于 ASE, 我们可以扩充它的现有API(Java), 用Python调用这些API实现丰富的测试功能。
Robotium 模仿普通用户行为,可以试着把一些原来由测试工程师做的测试变成Robotium自动化实现。
-------------------------------------------------------------------------------------------
android 2.3 hierarchyviewer.bat problems
http://www.androiddevelopers.info/android-discussions/android-2-3-hierarchyviewer-bat-problems/
In android 2.3 sdk, the hierarchyviewer.bat don’t work, it shows
” Failed to get the adb version: Cannot run program “adb.exe” ”
after I put all “platform-tools” dir files to “tools” dir, it works fine.