热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

Android自动测试工具Monkey的实现方法

本文主要介绍AndroidMonkey实现方法,Monkey测试是一种为了测试软件的稳定性、健壮性的快速有效的方法,具有非常重要的参考价值,希望对小伙伴有所帮助

1. Android Monkey 实现操作流程:

准备:在eclipse里安装Phyon插件,可以选择在线安装,也可以下载zip解压后放在eclipse安装目录的dropins下,如 : /personal/software/android_developtools/adt-bundle-mac-x86_64-20130522/eclipse/dropins/PyDev 2.8.2

插件准备就绪就重启eclipse,检验PyDev是否正常工作,然后开始MonkeyRunner测试:

第一步:

gufeitekiMacBook-Pro:~ gufei$ cd /personal/software/android_developtools/adt-bundle-mac-x86_64-20130522/sdk/tools

第二步:

gufeitekiMacBook-Pro:tools gufei$ ls
Jetemulator-x86monkeyrunner
NOTICE.txtemulator64-armproguard
adb_has_moved.txtemulator64-mipssource.properties
androidemulator64-x86sqlite3
antetc1toolsupport
appshierarchyviewersystrace
ddmshprof-convtemplates
dmtracedumpjobbtraceview
draw9patchlibuiautomatorviewer
emulatorlintzipalign
emulator-armmksdcard
emulator-mipsmonitor

第三步:

gufeitekiMacBook-Pro:tools gufei$ ./emulator -avd android_480_800
emulator: emulator window was out of view and was recentered

然后重新打开一个新的命令窗口

第四步:

gufeitekiMacBook-Pro:~ gufei$ cd /personal/software/android_developtools/adt-bundle-mac-x86_64-20130522/sdk/tools
gufeitekiMacBook-Pro:tools gufei$ ./monkeyrunner
Jython 2.5.3 (2.5:c56500f08d34+, Aug 13 2012, 14:54:35)
[Java HotSpot(TM) 64-Bit Server VM (Apple Inc.)] on java1.6.0_51

 第五步:

from com.android.monkeyrunner import MonkeyRunner,MonkeyDevice,MonkeyImage

 第六步:

android_480_800.installPackage("/personal/developer/android/project/UnionPay/Android/UPClient_3_0_lib/bin/UPClient_3_0_lib.apk")

ps:里面的5指等待5s,可以不写,代表永远等待,也可以自己自定义时间。

 第七步:

android_480_800.installPackage("/personal/developer/android/project/UnionPay/Android/UPClient_3_0_lib/bin/UPClient_3_0_lib.apk")

安装成功后命令窗口打印出:True

 第八步:

 

android_480_800.startActivity(compOnent="com.unionpay/com.unionpay.client3.UPActivityWelcome")

 观察模拟器是否已经打开该界面

 第九步:(自己模拟点击坐标)

 

android_480_800.touch(386.0,399.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(35.0,146.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(5.0,609.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(44.0,569.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(-1.0,-1.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(467.0,759.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(457.0,726.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(265.0,776.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(271.0,787.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(176.0,278.0,android_480_800.DOWN_AND_UP)
android_480_800.touch(187.0,257.0,android_480_800.DOWN_AND_UP)
result= android_480_800.takeSnapshot() 
result.writeToFile("/Users/gufei/Downloads/MonkeyRunnerShoot.png") 
print("OK!") 

 


推荐阅读
  • 本文探讨了如何利用 Hibernate 进行高效的批量更新和删除操作,包括直接使用 Hibernate API 的方法及其局限性,以及如何通过 JDBC 或存储过程实现更优的性能。 ... [详细]
  • 本文总结了MySQL的一些实用技巧,包括查询版本、修改字段属性、添加自动增长字段、备份与恢复数据库等操作,并提供了一些常见的SQL语句示例。 ... [详细]
  • 本文探讨了随着并发需求的增长,MySQL数据库架构如何从简单的单一实例发展到复杂的分布式系统,以及每一步演进背后的原理和技术解决方案。 ... [详细]
  • 本文介绍了如何使用Gradle和gdx-setup.jar工具来创建LibGDX项目,包括详细的步骤和注意事项,适合初学者和有经验的开发者。 ... [详细]
  • MyEclipse技巧:高效生成toString方法
    本文将介绍如何在MyEclipse中快速且高效地生成toString方法,帮助开发者简化编码过程,提高开发效率。 ... [详细]
  • 本文总结了WebSphere应用服务器出现宕机问题的解决方法,重点讨论了关键参数的调整,包括数据源连接池、线程池设置以及JVM堆大小等,旨在提升系统的稳定性和性能。 ... [详细]
  • 基于Java的学生宿舍管理系统设计
    本论文探讨了如何利用Java技术设计和实现一个高效的学生宿舍管理系统。该系统旨在提高宿舍管理的效率,减少人为错误,同时增强用户体验。通过集成用户认证、数据管理和查询功能,系统能够满足学校宿舍管理的多样化需求。 ... [详细]
  • Gradle复合构建详解
    自Gradle 3.3起,复合构建功能得以实现,这是一种能够整合其他独立构建的高级构建模式。本文将详细介绍复合构建与多项目构建的区别,以及如何在实际项目中应用复合构建。 ... [详细]
  • 在Android应用开发过程中,经常需要在SQLite数据库中快速插入大量数据。本文通过实例探讨了不同插入方法的效率,并提供了优化建议。 ... [详细]
  • 2014年4月17日,深入研究了邵杨的代码库,发现代码中的注释较为稀少,影响了理解的效率。同时,学习了一些Eclipse的高效操作技巧。 ... [详细]
  • 如何解决PHP中时间获取不准确的问题
    本文探讨了在PHP开发过程中遇到的时间获取错误问题,并提供了详细的解决方案,包括通过修改配置文件和编程方法来调整时区设置。 ... [详细]
  • 深入理解Java MySQL数据库连接池实现
    尽管利用Apache Commons DBCP等工具可以轻松构建数据库连接池,但本文详细解析了数据库连接池的工作机制,提供了详尽的注释,帮助开发者深入理解其内部运作。这不仅有助于提高数据库操作的效率,还能增强应用程序的稳定性和性能。 ... [详细]
  • 本文探讨了在H2内存数据库中使用to_char函数遇到的问题,包括别名创建失败和堆栈内存溢出的情况,并提供了解决方案。 ... [详细]
  • 本文深入探讨网页游戏的开发流程,涵盖从程序框架设计到具体实现的技术细节,旨在为开发者提供全面的指导。 ... [详细]
  • GBase 8s SQL 指南:多列约束详解
    本文档详细介绍了如何在GBase 8s中使用多列约束格式,将其应用于现有表的一列或多列。这种格式类似于CREATE TABLE语句中的多列约束,但提供了一些额外的选项,如INDEX DISABLED关键字。 ... [详细]
author-avatar
惰费旧使爽DDD_540
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有