作为一名软件研发者,对于android你肯定不会陌生。随着科技的日新月异,android在我们的生活中已经变得无处不在,手机就是一个 好的例子,我们现在常常都会用到手机。但是你知道android自动化测试的工具有哪几种吗?小编现在就一一为你讲解。
随着科技的发展,现在已经有很多的android自动化测试架构或工具可以供我们使用了,其中包括:activityinstrumentation,droidpilot,monkeyrunner,robotium,以及robolectric。另外lesspainful也提供了服务来进行真实设备上的自动化测试。
其实,android自身就已经提供了对instrumentation测试的基本支持,其中之一就是位于android.test包内的activityinstrumentationtestcase2类,它扩展了junit的testcase类用来提供androidactivities的功能测试。在应用测试中,每一个activity首先都会被instrumentation初始化,然后再加载到android模拟器或设备的dalvik虚拟机中来执行。
1.droidpilot:一个新出android自动化测试工具
droidpilot是一个自动化测试工具。它可以针对于android平台的应用程序进行测试脚本编辑、自动回放、结果检查、报告输出等操作,以此来缩短回归测试的时间和提升项目整体进度。测试的脚本不仅可以运行于模拟器,更可以同时运行于多台移动设备,这样更能凸显测试结果的真实性和可比性。
2.monkeyrunner:androidsdk自带一个测试工具
monkeyrunner提供的api和执行环境可以运行python语言编写的测试代码。它提供了api来连接设备,安装、卸载应用,运行应用,截屏,比对图片来判断特定命令执行后的屏幕是否包含预期信息,以及运行对应用的测试。monkeyrunner使用activityinstrumentationtestcase2,providertestcase,servicetestcasek,singlelaunchactivitytestcase及其他类来定义测试用例,并使用instrumentationtestrunner类来运行测试。
3.robotium:被称之为针对android应用的又一个selenium
robotium是另一种通过instrumentationtestrunner来完成android交互式测试的架构,它可以横跨多个activities,并且支持功能测试,系统测试和接收测试。robotium支持activities、dialogs、toasts、menus、contextmenus甚至honeycomb,并且它可以同maven和ant集成来完成持续集成测试。
4.robolectric:pivotal实验室声称使用robolectric可以在28秒内运行1047个测试
robolectric另辟蹊径,它并不依赖于android提供的测试功能,它使用了shadowobjects并且运行测试于普通的工作站、服务器jvm,不像模拟器或设备需要dexing(androiddex编译器将类文件编译成android设备上的dalvikvm使用的格式),打包,部署和运行的过程,大大减少了测试执行的时间。
5.lesspainful:多设备平台自动化测试的服务
lesspainful将android测试又推进了一步,它提供了一个多设备平台自动化测试的服务。用户上传应用(*.apk)和用cucumber(一种业务相关的dsl)编写的测试文件,选择测试运行需要的设备配置, 后测试将自动执行并生成测试报告。它支持的设备包括garminasus,几款htc,lg,samsunggalaxy,sonyxperia和motorolamotodefy。
相信你看到这里,都已经学习了上面的五种android自动化测试的工具了吧,希望你能选择适合你的android测试工具进行测试,当然也希望这能帮助到你。