Android测试-monkey
好久以前搞过monkey,最近看了一个monkey+日志录制的一个分享,准备自己也搞一下。
monkey的doc文档:
https://developer.android.google.cn/studio/test/monkey.html
adb查看包名/Activity名
adb shell "logcat | grep START"
adb shell dumpsys activity | find “mFocusedActivity”
adb shell pm list packages
adb shell dumpsys window | findstr mCurrentFocus
aapt也可以查看,参考 https://www.cnblogs.com/lynn-li/p/5885001.html
命令行中切换到aapt.exe目录,执行命令:aapt dump badging F:\QQyinle_439.apk ,注意,apk路径中一定不能有空格。
或
把日志存储在特定的文件中,在文件中通过搜索关键字,得到包名及活动名,这里我把结果输出到F盘的log.txt中:
aapt dump badging F:\QQyinle_439.apk > F:\log.txt
到此,已经获取了app的package名和activity。下面,我们真正的启动app。在原有cmd运行窗口,输入命令:
device.startActivity(component=" com.tencent.qqmusic/.activity.AppStarterActivity ")
基本命令介绍:
#-v 事件数量 -v个数越多,时间日志越详细,最多3个
# adb logcat 获取当前应用package名称 #adb shell monkey -v 100
# -f 执行对应的monkey脚本
#adb shell monkey -f /path
# --throttle time
#adb shell monkey --throttle 100
#触摸事件百分比 --ptc-touch
#adb shell monkey --ptc-touch 30
#--ptc-motion 动作down+up --ptc-trackball 随机移动+点击
#--ptc-nav 导航事件 up/down/left/right --ptc-majornav 主要导航事件 ,home back menu
#--ptc-syskeys 系统按键 home/back/call/endCall/volume
#--ptc-appswitch 启动应用事件 startActivity()
#--ptc-anyevent 其他类型事件 #-p 限定在包中,可选多个包,每个包名前需要加-p ,所有包属于一个app,否则只在第一个app里面的包里执行
#adb shell monkey -p com.patech.testApp 1000 -p com.patech.zhizhitest 1000 --throttle 1000 --ptc-trackball 100 #-c 一个或多个main-category参数,即android的activity的类型,不指定则选择Intent.category_Launcher和Intent.category_monkey
#--hprof 生成报告
#adb shell monkey --hprof 100
#--ignore-crashes 无视crash
#--ignore-timeouts 无视超时
#--ignore-security-exceptionis 无视权限错误
#--monitor-native-crashes 监视并报告Android系统native code崩溃事件
写了一个bat脚本来执行monkey并记录各种日志
@echo off
rem edit by zhzh.yin
rem 设置放置测试脚本的目录,测试package名称,操作事件总数,思考事件
set FILE_PATH=C:\Users\user\Desktop\testReport
set PACKAGE_NAME=com.android.calendar
set OPERATION_NUM=1000
set THINK_TIME=1000
set ADB_PATH=D:\android_sdk\platform-tools
set ADB_DIR=D:
rem 设置时间百分比,总和需<100,当前设置为50%触摸事件,20%动作事件(down and up),20%轨迹球事件(随机移动+点击)
set TOUCH_PER=50
set MOTHION_PER=20
set TRACKBALL_PER=20
cd %ADB_DIR%
cd %ADB_PATH%
adb devices
adb logcat -c -b main -b events -b radio -b system
rem --ptc-nav 导航事件 up/down/left/right
rem --ptc-majornav 主要导航事件 ,home back menu
rem --ptc-syskeys 系统按键 home/back/call/endCall/volume
rem --ptc-appswitch 启动应用事件
rem --ptc-anyevent 其他类型事件
set NOW_TIME_HH=%time:~0,2%
if "%NOW_TIME_HH%" lss "10" (set NOW_TIME_HH=0%time:~1,1%) else (set NOW_TIME_HH=%time:~0,2%)
for /f %%i in ('powershell -c "Get-Date -uformat '%%Y%%m%%d'"') do (
set "Today=%%i"
)
set NOW_TIME=%Today%%NOW_TIME_HH%%time:~3,2%%time:~6,2%
cd %FILE_PATH%
echo create the folder
rem mkdir %NOW_TIME%
md %FILE_PATH%\%NOW_TIME%
echo the name of folder is %NOW_TIME%
cd %ADB_DIR%
cd %ADB_PATH%
adb shell monkey -p %PACKAGE_NAME% -v -v %OPERATION_NUM% --throttle %THINK_TIME% --ptc-touch %TOUCH_PER% --ptc-motion %MOTHION_PER% --ptc-trackball %TRACKBALL_PER% 1>%FILE_PATH%\%NOW_TIME%\monkey_standard.txt 2>%FILE_PATH%\%NOW_TIME%\monkey_error.txt
echo the monkey log is saved in %FILE_PATH%\%NOW_TIME%,and the fileName is begin with monkey
adb logcat -v time *:E -d >%FILE_PATH%\%NOW_TIME%\logcat.txt
echo the logcat log is saved in %FILE_PATH%\%NOW_TIME%,and the fileName is begin with logcat
pause
Android测试-monkey的更多相关文章
- android 测试 Monkey 和 MonkeyRunner 的使用
一.Monkey的使用 Monkey使用起来比较简单,简而言之就是模拟手机点击效果,随机发送N个点击动作给手机,主要对于程序的稳定和承受压力的测试. 1.首先连接上你的手机或者启动模拟器: 2.运行C ...
- Android APP压力测试-Monkey
压力测试-Monkey学习 Monkey测试特点 什么是Monkey test? 如其名,像猴子一样,虽然什么都不懂,但是可以乱点一通,可以理解为压力测试.在规定的时间或次数范围内做任何随机的操作,随 ...
- Android软件测试Monkey测试工具
前言: 最近开始研究Android自动化测试方法,对其中的一些工具.方法和框架做了一些简单的整理,其中包括android测试框架.CTS.Monkey.Monkeyrunner.benchmark.其 ...
- 【Android测试】【第七节】Monkey——源码浅谈
◆版权声明:本文出自胖喵~的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4713466.html 前言 根据上一篇我们学会了Monke ...
- 【Android测试】【第六节】Monkey——认识和使用
◆版权声明:本文出自carter_dream的博客,转载必须注明出处. 转载请注明出处:http://www.cnblogs.com/by-dream/p/4688880.html 自动化工具 接触安 ...
- android 自动化压力测试-monkey 1 实践
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey ...
- Android 使用monkey自动测试
很简单的一个monkey使用流程: 首先创建一个monkey脚本test.txt,例如一个简单的反复测试拍照功能的脚本: # Start of Script type= user count= 49 ...
- android之monkey测试
本文同时发表于本人个人网站 www.yaoxiaowen.com monkey测试算是android自动化测试当中最简单的一种工具了.虽然简单,不过对于测试app的稳定健壮,减少崩溃还是比较有用的.所 ...
- monkey测试===Android测试工具Monkey用法简介(转载)
Monkey是Android中的一个命令行工具,可以运行在模拟器里或实际设备中.它向系统发送伪随机的用户事件流(如按键输入.触摸屏输入.手势输入等),实现对正在开发的应用程序进行压力测试.Monkey ...
随机推荐
- js 验证手机号
<script> var reg = /^1([38][0-9]|4[579]|5[0-3,5-9]|6[6]|7[0135678]|9[89])\d{8}$/; function ver ...
- 莫比乌斯反演求LCM的另一种做法
一个经典问题 求 \[ \sum_{k=1}^n\mathbb{lcm}(k,n) \] 一般的做法是使用\(\varphi(n)\)函数. 不经典的做法 \[ \begin{align*} \sum ...
- shrio学习笔记
Thymeleaf扩展坐标 <!--thyemleaf对shrio的扩展坐标--> <dependency> <groupId>com.github.thebora ...
- 023 Android 自定义Toast控件
1.Toast自定义控件工具类 package com.example.administrator.test62360safeguard.Utils; import android.content.C ...
- Go语言学习笔记(10)——错误处理示例
// 定义一个 DivideError 结构 type DivideError struct { dividee int divider int } // 实现 `error` 接口 func (de ...
- Markdown试试
from os import time print("haha") from os import time print("haha") time.time()! ...
- Mac下Sublime Text3激活码
方法1: 终端中打开文件 /etc/hosts,插入如下语句 127.0.0.1 www.sublimetext.com 127.0.0.1 license.sublimehq.com 方法2: 在s ...
- Linux文件属性整理
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限.为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定.在Linux中我们可以 ...
- 微信小程序通讯录字母排序
微信小程序通讯录 字母排序效果: demo地址:https://github.com/PeachCoder/wechat-contacts
- Java源码阅读之ArrayList
基于jdk1.8的ArrayList源码分析. 实现List接口最常见的大概就四种,ArrayList, LinkedList, Vector, Stack实现,今天就着重看一下ArrayList的源 ...