[android]android自动化测试四之Monkey与MonkeyRunner

简介:
请大家用下面的范例来做Monkey test . 时间延迟设为300毫秒,基本上符合实际上的触摸间隔。各位只需要改变标记为黄色的部分。 

adb shell monkey -p com.xxxx.news -s 12345 --pct-trackball 0 --pct-nav 0 --throttle 300 --pct-anyevent 4 --ignore-crashes 30000 & 
adb shell monkey -p com.xxxx.systeminfo -s 12345 --pct-trackball 0 --pct-nav 0 --throttle 300 --pct-anyevent 4 --ignore-crashes 30000 & 
adb shell monkey -p com.xxxx.todo -s 12345 --pct-trackball 0 --pct-nav 0 --throttle 300 --pct-anyevent 4 --ignore-crashes 30000 


具体参数查看 
http://developer.android.com/guide/developing/tools/monkey.html 


一个简单的monkey脚本: 

# monkey 
tap 100 180 
type 123 
tap 100 280 
press DEL 
press DEL 
press DEL 
press DEL 
press DEL 
press DEL 
press DEL 
press DEL 
type -460.3 


调用monkey脚本 
$ adb shell am start -n com.example.aatg.tc/.TemperatureConverterActivity 
This is informed in the log by this line: 
Starting: Intent { cmp=com.example.aatg.tc/.TemperatureConverterActivity } 
Once the application has started you can send the events using the script and the 
netcat utility: 
$ nc localhost 1080 < monkey.txt 


一个monkeyRunner的脚本:monkey_playback.py 


#! /usr/bin/env monkeyrunner 
''' 
Created on 2011-03-12 
@author: diego 
''' 
import sys 
# Imports the monkeyrunner modules used by this program 
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice, 
MonkeyImage 
# Connects to the current device, returning a MonkeyDevice object 
device = MonkeyRunner.waitForConnection() 
if not device: 
print >> sys.stderr, "Couldn't get connection" 
sys.exit(1) 
device.startActivity(component='com.example.aatg.tc/. 
TemperatureConverterActivity') 
MonkeyRunner.sleep(3.0) 
device.type("123") 
# Takes a screenshot 
MonkeyRunner.sleep(3.0) 
result = device.takeSnapshot() 
# Writes the screenshot to a file 
result.writeToFile('/tmp/device.png','png') 
device.press('KEYCODE_BACK', 'DOWN_AND_UP') 

更详细的文章 
http://www.cnblogs.com/yyangblog/archive/2011/03/10/1980086.html
目录
相关文章
|
2月前
|
Java 测试技术 Android开发
Android性能测试——发现和定位内存泄露和卡顿
本文详细介绍了Android应用性能测试中的内存泄漏与卡顿问题及其解决方案。首先,文章描述了使用MAT工具定位内存泄漏的具体步骤,并通过实例展示了如何分析Histogram图表和Dominator Tree。接着,针对卡顿问题,文章探讨了其产生原因,并提供了多种测试方法,包括GPU呈现模式分析、FPS Meter软件测试、绘制圆点计数法及Android Studio自带的GPU监控功能。最后,文章给出了排查卡顿问题的四个方向,帮助开发者优化应用性能。
153 4
Android性能测试——发现和定位内存泄露和卡顿
|
5月前
|
Android开发 iOS开发
android自动化编译
android自动化编译
|
2月前
|
测试技术 Shell Android开发
Android 性能测试初探 (六)
本节聊聊性能测试的最后一项- 流量,当然我所指的性能测试是针对大部分应用而言的,可能还有部分应用会关注网速、弱网之类的测试,但本系列文章都不去一一探讨了。
53 6
|
2月前
|
JavaScript 测试技术 Android开发
Android 性能测试初探 (四)
本文介绍了GPU在移动端性能测试中的重要性,并详细解释了过度绘制、帧率和帧方差的概念。针对GPU测试,文章列举了三项主要测试内容:界面过度绘制、屏幕滑动帧速率和平滑度。其中,过度绘制测试需遵循特定标准,而帧速率和平滑度测试则可通过软件或硬件方法实现。在软件测试中,使用Systrace插件和高速相机是两种常用手段。对于不同机型,帧率及帧方差的测试标准也需相应调整。
48 5
|
2月前
|
测试技术 Shell Android开发
Android 性能测试初探 (三)
本文承接《Android性能测试初探(二)》,深入探讨CPU与内存测试。介绍了移动端内存测试的重要性及其测试目标,并详细列举了不同状态下应用内存消耗情况的测试项目。此外,还提供了多种内存测试方法,包括使用`procrank`等工具的具体操作步骤。最后,文章也简要提及了CPU测试的相关内容,帮助读者更好地理解Android性能测试的关键要素。
49 5
|
2月前
|
测试技术 Shell 定位技术
Android 性能测试初探 (五)
聊聊大家不常关注的测试项- 功耗
47 3
|
2月前
|
算法 测试技术 Android开发
Android 性能测试初探 (二)
上回大体介绍了下在 android 端的性能测试项,现在我们就细节测试项做一些阐述(包括如何自己 DIY 测试)
45 4
|
2月前
|
测试技术 API Android开发
Android 性能测试初探 (一)
Android 性能测试,跟pc性能测试一样分为客户端及服务器,但在客户端上的性能测试分为 2 类: 一类为 rom 版本的性能测试;一类为应用的性能测试。
50 3
|
2月前
|
Android开发
Android学习 —— 测试init.rc中的条件触发的处理顺序
Android学习 —— 测试init.rc中的条件触发的处理顺序
|
6月前
|
安全 物联网 测试技术
构建未来:Android与IoT设备的无缝交互深入探索软件自动化测试的未来趋势
【5月更文挑战第30天】在物联网(IoT)技术快速发展的当下,Android系统因其开放性和广泛的用户基础成为了连接智能设备的首选平台。本文将探讨如何通过现代Android开发技术实现智能手机与IoT设备的高效、稳定连接,并分析其中的挑战和解决方案。我们将深入挖掘Android系统的底层通信机制,提出创新的交互模式,并通过实例演示如何在Android应用中集成IoT控制功能,旨在为开发者提供一套可行的指导方案,促进IoT生态系统的进一步发展。