51Testing软件测试论坛

标题: app测试adb shell mokey 第一课 [打印本页]

作者: xujinli880802    时间: 2018-9-11 22:51
标题: app测试adb shell mokey 第一课
adb devices 查看所有连接的终端设备; adb服务使用的端口号:5037
状态:device 表示已连接
      Offline 表示未连接;
      Unknown:没有连接设备;
adb  get-server 获取设备的状态
adb install  包,,(安卓apk,IOS.ipa) 安装
adb install  -r  包  覆盖安装;
adb uninstall  包  卸载(后面跟的参数是应用的包名,请区别于 apk 文件名系统包不要随意卸载

例子:adb uninstall com.netease.qa.emmage
adb pull <远程文件> <本地路径>:下载文件,从模拟器拉文件到本地
例:adb  pull  /data/anr/traces.txt  D:\003-APP\ck
adb push <本地文件> <远程路径>:上传文件,把本地文件放到远程
   (1)首先要知道本地文件的路径、远程路径( /data/anr)
(2)例: adb  push  test.txt  /data/anr
adb shell :可以使用命令进入并控制Android手机  adb shell 是调用Android系统中的命令(使用了这个命令 我们就可以使用cd 进去文件中 ls )
adb kill-server :结束服务 (注:如果我们在adb devices 中显示的状态unkown的 就先用这个结束服务,它会结束一些无关的服务);
adb start-server :启动服务
adb remount  :获取 root 权限,并挂载系统文件系统为可读写状态 (设置权限)
adb –s <deviceid> logcat
     说明:-s : 设置过滤器    针对设备id 进行过滤它的日志;
adb get-serialno 获得序列号(emulator-5554)
adb shell pm命令; (注:adb shell 下的命令在使用的过程中都需要 加上adb shell)
例子:adb shell pm list packages :查看所有的包;没有类名
adb pm list permission-groups 查看权限
adb shell pm uninstall 包和adb uninstall 包 都是卸载应用程序
pm install 和adb install 的区别:
目标apk存放于pc 端,用adb install 安装
       目标apk 存在android设备上 用pm install 安装;
Adb shell am命令:
   Adb shell am start  -n  包名/类名 打开进程
   例子:adb shell am start –n  com.android.camera/.camera 启动照相机程序
Adb shell am force-stop –n 包名 关闭进程
   例子: Adb shell am force-stop com.android.camera

Adb shell keycode 模拟按键事件:
Input 这个命令可以向android 设备发送按键事件
语法:adb shell input keyevent x
  例子:adb shell input keyevent 3  表示返回到主菜单
Adb shell input keyevent 4  返回上一层
Adb shell input test abc 发送文本内容abc 不能发中文(前提现将键盘设置英文键盘并打开文本编辑器)
Adb shell screencap –p  /sdcard/screen.jpg 截图命令;
adb shell screencap -p /sdcard/screen.jpg  下载并查看截图
adb shell monkey命令:
monkey它向系统发送伪随机的用户事件流(如按键输入、触摸屏输入、手时输入等),实现对正在开发的应用程序进行压力测试
monkey 测试是一种伪了测试软件的稳定性、健壮性的快速有效的方法;
adb 环境:monkey测试使用的时adb 命令,因此只需要配置adb环境;
adb 就是连接android手机和pc端的桥梁,可以让用户在电脑上对手机进行前面的操作;
例如:运行monkey,对包进行300次无规律点击
      Adb shell monkey –p com.android.camera –v 300

Adb shell monkey –p  com.android.calendar --ignore-crashes  --ignore-timeouts  --throttle 380 –v –s 3500 30000
说明:-p : 制定测试程序的包
      30000: 执行次数
      --ignore-timeouts: 忽略超时
      -v : log日志的详细度
      -s: 伪随机数
      --throttle :插入时延,单位是毫秒 常用参数,一般设置为300毫秒,原因是实际用户操作的最快300毫秒左右一个动作事件,所以此处一般设置为300毫秒
-s(随机数种子)作用:用于指定伪随机数生成器的seed值,如果seed
相同,则两次Monkey测试所产生的事件序列也相同的


还有一种方法 将日志导出到电脑的某一位置
Adb shell –p 包名 –v 点击数>电脑某一位置
        例子:adb shell monkey –p  com.android.camera –v –v –v 300 >F:\test .txt(日志导入到文件中)
Adb shell  -help 列出简单的用法
-v作用:命令行上的每一个-v都将增加反馈信息的详细级别。
-v(默认),除了启动、测试完成和最终结果外只提供较少的信息。
-v –v ,提供了较为详细的测试信息,如逐个发送到Activity的事件信息。
-v –v –v ,提供了更多的设置信息,如测试中选中或未选中的Activity信息。
• 比较常用的是-v -v -v,即最多详细信息,一般会保存到指定文件中供开发人员查找bug原因时使用
约束类参数的说明:
-p :指定包 如果你不指定任何包,Monkey将允许系统启动所有包的 Activity。指定多个包,使用多个-p,一个-p后面接一个包名
--ignore-crashes 作用:用于指定当应用程序崩溃时(Force& Close错误),Monkey是否停止运行。如果使 用此参数,即使应用程序崩溃,Monkey依然会发送事件,直到事件计数完成
  例子:adb shell monkey -p com.android.camera --ignore-crashes 1000
   测试过程中即使camera程序崩溃,Monkey依然会继续发送事件直到事件数目达到1000为止;
    例2:adb shell monkey -p com.android.camera 1000    (1000次)
测试过程中,如果camera程序崩溃,Monkey将会停止运行
--ignore-timeouts 作用:通常,应用程序发生任何超时错误(如“Application Not responding”对话框)
Monkey将停止运行,设置此项,Monkey将继续发送事件给系统,直到事件计数完成
--ignore-security-exception  作用:通常,当程序发生许可错误(例如启动一些需要许可的Activity, 证书 许可,网络许可等 )导致的异常时,Monkey将停止运行。设置此项,Monkey将继续发送事件给系统,直到事件计
数完成

事件类参数:
--pct-{+事件类别}{+事件类别百分比}
用于指定每种类别事件的数目百分比(在Monkey事件序列中,该类事件数目占总事件数目的百分比)
注意:各事件类型的百分比总数不超过100%
1.        --pct-touch <percent>作用:调整触摸事件的百分
比。(触摸事件是指在屏幕中的一个down-up事件,即
在屏幕某处按下并抬起的操作)
注:常用参数,此参数设置要适应当前被测应用程序的操 作,比如一个应用80%的操作都是触摸,那就可以将此参 数的百分比设置成相应较高的百分比。
(自己理解,如果应用程序中那种事件比较多 就可以把哪种事件的百分比设的高一点  重点测)
例子:adb shell monkey -p com.android.camera --pct-touch 100 -v 10
2、--pct-motion <percent>作用:调整motion事件百分 比。
(motion事件是由屏幕上某处一个down事件、一系列伪随 机的移动事件和一个up事件组成)
注:常用参数,需注意的是移动事件是直线滑
例:adb shell monkey --pct-motion 100 -v 10
3、--pct-trackball <percent>作用:调整滚动球事件百分比。(滚动球事件由一个或多个随机的移动事件组成,
有时会伴随着点击事件)
注:不常使用参数,现在手机几乎没有滚动球,但滚动球事件中包含曲线滑动事件,在被测程序需要曲线滑动时 可以选用此参数。
例:adb shell monkey --pct-trackball 100 -v 10
• 4、--pct-nav <percent>作用:调整基本的导航事件百分比。(导航事件由方向输入设备的上下左右按键所触发 的事件组成)
注:不常用操作。
例:adb shell monkey --pct-nav 100 -v 10
5、--pct-majornav <percent>作用:调整主要导航事件的百分比。(这些导航事件通常会导致UI界面中的动作 事件,如5-way键盘的中间键,回退按键、菜单按键)
注:不常用操作。
例:adb shell monkey --pct-majornav 100 -v 10
• 6、--pct-syskeys <percent>作用:调整系统事件百分比。(这些按键通常由系统保留使用,如Home、Back、 Start Call、End Call、音量调节)
注:不常用。
例:adb shell monkey --pct-syskeys 100 -v 10
• 6、--pct-appswitch <percent>
作用:调整Activity启动的百分比。(在随机的时间间隔中,Monkey将执行一个startActivity()调用,作为最大程 度覆盖被测包中全部Activity的一种方法)
注:不常用。
例:adb shell monkey --pct-appswitch 100 -v 5
7、--pct-anyevent
作用:调整其他事件的百分比。(这包含所有其他事件,如按键、其他在设备上不常用的按钮等)
注:不常用。
例:adb shell monkey --pct-anyevent 100 -v 5
8、--pct -anyevent 100 1000* 指定多个类型事件的百分比:
    注意:各事件类型的百分比总数不能超过100%
    例: adb shell monkey -p com.htc.Weather --pct-anyevent 50 --pct-appswitch 50 1000






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2