android自动化测试-monkey使用举例(2)

来源:互联网 发布:淘宝咋设置选购热点 编辑:程序博客网 时间:2024/05/16 08:05

举例一:

1. 前提条件 : 启动一个Android 的模拟器。

    在命令行可以使用adb devices 查看设备是否连接?

2. 查看模拟器data/data 文件夹的应用程序包,此目录下的应用程序包,我们都可以使用monkey 进行测试,如下所示:

D:\>adb shell
# ls data/data

 

举例二:

1. 可以选择一个应用程序包作为测试对象,如我们选择com.android.camera 闹钟应用作为测试对象
2. 使用monkey 命令执行测试
   monkey -p com.android.camera -v 50
其中-p 表示对象包,-v 表示反馈信息的级别,50 表示事件数量。

 

举例三:

在运行中,输入运行代码: monkey --pct-nav 100 -v 500 -p com.android.alarmclock
其中–pct-nav 100 表示全部产生基本按键事件,-p 表示对象包,-v 表示反馈信息的级别,500 表示事件数量,执行部分结果,注意
pct-nav 前面是两个“-”,如下图所

 C:\Documents and Settings\9158.feng>adb shell monkey -p com.a.a --throttle 500 --ignore-timeouts --ignore-security-exceptions --ignore-native-crashes --monitor-native-crashes -v 5000 >E:\log.txt

忽略异常

指令的含义:测试的应用程序为com.a.a,事件间的延时为500毫秒,种子seed的值为600,三个v表示输出的MonkeyLog的级别为最高,即输出最详尽的Monkey Log,测试的事件次数为800000次 ,Log保存在C盘的log.txt    

-s <seed> 
    伪随机数生成器的 seed 值。如果用相同的 seed 值再次运行 Monkey ,它将生成相同的事件序列。
--throttle <milliseconds> 
    在事件之间插入固定延迟。通过这个选项可以减缓 Monkey 的执行速度。如果不指定该选项, Monkey 将不会被延迟,事件将尽可能快地被产成。
-p <allowed-package-name> 
    如果用此参数指定了一个或几个包,Monkey将只允许系统启动这些包里的Activity。 如果你的应用程序还需要访问其它包里的Activity(如选择取一个联系人),那些包也需要在此 同时指定。如果不指定任何包,Monkey将允许系统启动全部包里的Activity。要指定多个 包,需要使用多个 -p选项,每个-p选项只能用于一个包。
--kill-process-after-error 
    通常,当Monkey由于一个错误而停止时,出错的应用程序将继续处于运行状态。当设置了此选项时,将会通知系 统停止发生错误的进程。注意,正常的(成功的)结束,并没有停止启动的进程,设备只是在结束事件之 后,简单地保持在最后的状态。
--ignore-timeouts 
    通常,当应用程序发生任何超时错误(如“Application Not Responding”对 话框)时,Monkey将停止运行。如果设置此选项,Monkey将继 续向系统发送事件,直到计数完成。
--ignore-security-exceptions 
    通常,当应用程序发生许可错误(如启动一个需要某些许可的Activity)时,Monkey将 停止运行。如果设置了此选项,Monkey将继续向系统发送事件,直到计数完成。
 -v 
    命令行的每一个 -v 将增加反馈信息的级别。 Level 0( 缺省值 ) 除启动提示、测试完成和最终结果之外,提供较少信息。 Level 1 提供较为详细的测试信息,如逐个发送到 ActivITy 的事件。 Level 2 提供更加详细的设置信息,如测试中被选中的或未被选中的 Activity 


PS:以往我们项目中,测试人员的自由测试会发现在不少严重的问题,其实自由测试跟Monkey 的自动化测试类似,都是随机,因此我
们可以动态配置事件数量、类型、频率来测试我们应用程序包,用工具自动化测试代替人工自由测试。
原创粉丝点击