Android自动测试工具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!") 
(0)

相关推荐

  • Android App开发的自动化测试框架UI Automator使用教程

    Android的自动化测试有很多框架,其中ui automator是google官方提供的黑盒UI相关的自动化测试工具,(GitHub主页:case使用java写,今天实践了一下官方文档中样例程序,其中还是有一些小问题需要总结一下的. 环境准备: 1.JDK(是的,你没看错,基础的android开发环境必备),以及对应的环境变量配置,不会的可以自己百度下下 2.Android Studio(IDE尊崇个人意愿) 3.android SDK以及配置 4.ANT(主要用于build我们的脚本,生成j

  • Android自动测试工具Monkey

    前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyrunner.benchmark.其它test tool等等.因接触时间很短,很多地方有不足之处,希望能和大家多多交流. 一.Monkey定义 探索软件测试工具有哪些,本文主要介绍Monkey工具.Monkey测试是Android平台自动化测试的一种手段,通过Monkey程序模拟用户触摸屏幕.滑动.按键等操作来对设备上的程序进行压力测

  • android monkey自动化测试改为java调用monkeyrunner Api

    众所周知,一般情况下我们使用android中的monkeyrunner进行自动化测试时,使用的是python语言来写测试脚本.不过,最近发现可以用java调用monkeyrunner Api,用java语言写测试脚本. 于是,就简单研究了一下.这里做一些总结.希望有对在研究的午饭可以有所用处. 开始时,搜素到一些零碎的教程,说使用java调用monkeyrunner时,需要导入android sdk  tools路径下的lib里面的4个包:ddmlib.jar,guavalib.jar,monk

  • android压力测试命令monkey详解

    一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题. 三.Monkey 测试的特点?Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性. 四.Monkey 命令详解 1).标准的monkey 命令[adb shell] monkey [options] <eventcount> , 例如:adb shell monkey -

  • Ubuntu中为Android系统实现内置Java应用程序测试Application Frameworks层的硬件服务

    我们在Android系统增加硬件服务的目的是为了让应用层的APP能够通过Java接口来访问硬件服务.那么, APP如何通过Java接口来访问Application Frameworks层提供的硬件服务呢?在这一篇文章中,我们将在Android系统的应用层增加一个内置的应用程序,这个内置的应用程序通过ServiceManager接口获取指定的服务,然后通过这个服务来获得硬件服务.        一. 参照在Ubuntu Android实现Application Frameworks层增加硬件访问服

  • Ubuntu中为Android系统上实现内置C可执行程序测试Linux内核驱动程序

    在前一篇文章中,我们介绍了如何在Ubuntu上为Android系统编写Linux内核驱动程序.在这个名为hello的Linux内核驱动程序中,创建三个不同的文件节点来供用户空间访问,分别是传统的设备文件/dev/hello.proc系统文件/proc/hello和devfs系统属性文件/sys/class/hello/hello/val.进一步,还通过cat命令来直接访问/proc/hello和/sys/class/hello/hello/val文件来,以验证驱动程序的正确性.在这一篇文章里,我

  • Android Monkey压力测试详细介绍

    Monkey 是Android SDK提供的一个命令行工具, 可以简单,方便地运行在任何版本的Android模拟器和实体设备上. Monkey会发送伪随机的用户事件流,适合对app做压力测试 阅读目录 环境搭建 什么是Monkey Monkey 用来做什么 Monkey程序介绍 Monkey 架构 Monkey弱点 Monkey 参数大全 Monkey 命令 基本参数介绍 Monkey 实例 Monkey 查看包名 Monkey  日志分析 必须重视Crash 环境搭建 安装Android SD

  • Android自动测试工具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测试: 第一步:

  • 详解搭建基于C#和Appium的Android自动测试环境

    关于Appium环境搭建的例子网上比较多,不过都是关于Python,Java的,使用C#客户端的资料比较少,公司现有的测试系统是基于C#构建的,因为要和现有系统集成,所以选择的C#语言作为客户端, 下载Appium 官网提供的C#例子,但是对应的Android 版本,Nunit 版本都比较旧,对于初次接触手机测试的人来说,一步一个坑,把例子拿下来,折腾了一两天,还是各种问题.最终通过百度,Google,终于搭建好了环境,现在分享一下过程,希望对于后来人会有些帮助. 默认大家是安装了Visual

  • Linux上下行网速测试工具_speedtest-cli安装使用方法

    speedtest-cli是Linux下的一个上下行网速测试工具,是一个用Python写的命令行脚本. 电脑测试网速这个功能估计大家都用过,但是服务器需要测试外网的速度相比大家做法各有不同,有的人使用自己的服务器来测试上下行速度,有些通过下载某个网站的资源来测试下行速度,鉴于这些节点比较少,而且测试麻烦,我向大家推荐speedtest-cli. speedtest是一个使用python编写的命令行脚本,通过调用speedtest.net测试上下行的接口来完成速度测试.最后我会测试运维生存时间所在

  • WQL语言简介和WQL测试工具wbemtest.exe使用方法详细介绍

    WQL就是WMI中的查询语言,WQL的全称是WMI Query Language,简称为WQL,翻译成中文好像可以成为Windows管理规范查询语言.熟悉SQL语言的朋友会感觉它和SQL非常相似. WQL其实非常简单,它有如下特点: 1.每个WQL语句必须以SELECT开始: 2.SELECT后跟你需要查询的属性名(我刚才对应SQL将其称之为字段名了),也可以像SQL一样,以*表示返回所有属性值: 3.FROM关键字: 4.你要查询的类的名字: 5.另外,如果你想精确查询结果还可以加上WHERE

  • Android 自动判断是电话,网址,EMAIL方法之Linkify的使用

    当我们在一个EditText输入电话或者网址还是Email的时候,让Android自动判断,当我们输入的是电话,我们点击输入内容将调用打电话程序,当我们输入是网址点击将打开浏览器程序.而Linkify很好的解决了这个问题 步骤: 1.布局UI 复制代码 代码如下: <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_pare

  • Android自动编辑文本框(AutoCompleteTextView)使用方法详解

    自动编辑文本框(AutoCompleteTextView)继承自EditText,能够接受用户的输入编辑,但是有这自己的特色功能:输入一定的字符以后会弹出下拉列表提示供用户选择,用户选择之后会自动填充文本框.这项功能正如浏览器的输入提示: 由于自动编辑文本框继承于EditText,它能够支持EditText的全部属性,但是在输入提示方面它有着自己的独特属性: android:completionHint     为弹出下拉菜单指定提示标题 android:completionThreshold 

  • android自动工具类TextUtils使用详解

    今天,简单讲讲如何使用android自动的工具类TextUtils. 简单列举部分用法: Log.d(TAG, "---------------------------------"); //字符串拼接 Log.d(TAG, TextUtils.concat("Hello", " ", "world!").toString()); //判断是否为空字符串 Log.d(TAG, TextUtils.isEmpty("H

  • Android屏幕适配工具类 Android自动生成不同分辨率的值

    本文实例为大家分享了Android屏幕适配工具类的具体代码,供大家参考,具体内容如下 DimenTool github地址 Android 屏幕适配方案,自动生成不同分辨率的值 android中官方建议的屏幕适配方式,通过根据不同的分辨率在工程的res文件夹下建立不同的尺寸文件夹,每个文件夹下都建立dimens.xml文件.然后根据不同的尺寸在dimens.xml文件夹中分别计算配置不同的dp或者sp单位.开发中发现,android屏幕适配需要用到很多的尺寸,每个尺寸都建立dimens.xml问

  • MySQL 之压力测试工具的使用方法

    一.MySQL自带的压力测试工具--Mysqlslap mysqlslap是mysql自带的基准测试工具,该工具查询数据,语法简单,灵活容易使用.该工具可以模拟多个客户端同时并发的向服务器发出查询更新,给出了性能测试数据而且提供了多种引擎的性能比较.mysqlslap为mysql性能优化前后提供了直观的验证依据,系统运维和DBA人员应该掌握一些常见的压力测试工具,才能准确的掌握线上数据库支撑的用户流量上限及其抗压性等问题. 1.更改其默认的最大连接数 在对MySQL进行压力测试之前,需要更改其默

随机推荐