手机测试策略

一、安装测试

  • 1)不同渠道包,安装是否正常
    注意:指的是不同应用商店平台上发布的安装包,区别在于文件的配置信息发生改变,所以需要在安装上区分对待。
  • 2)不同的操作系统上安装是否正常
  • 3)安装后是否可正常使用,重点关注安装后配置文件及文件夹是否正常写入到指定目录。
  • 安装过程中选项组合的设计和功能实现是否符合概要设计说明(是不是符合需求)
  • 软件安装过程中是否可以取消,取消后是否正常回滚,最终停止安装,给予正常反馈。
  • 6)软件安装过程中异常情况下处理是否正常
    注意:异常情况包括崩溃:内部-软件安装过程中软件本身崩溃;外部-第三方软件触发崩溃对于被测系统安装的影响。其次还包括断电、重启等情况
  • 7)安装过程中内存不足时,是否反馈正常。
  • 8)安装后配置文件夹及文件结构和数量是否正常
  • 9)安装过程中是否和安装手册一致
    注意:一般的情况安装标准流程是否统一的相对比较简单,所以不需要考虑安装手册的测试,但是针对特殊软件,需要特定环境支持,就需要有专门的文档直到,故需要文档测试
  • 10)安装过程中若有网络验证,确认无网情况是否反馈正常
    补充:1)安装过程中接听电话(与本地软件或者第三方软件交互)
    2)安装过程中前后切换交互(返回键、home、功能键)
    3)安装过程中UI测试
    4)本地应用商店自动安装方式是否正常
    5)安装过程中突然关闭进程反馈是否正常

卸载测试

1)直接删除安装文件进行卸载,确认是否有相关反馈信息。
2)直接触发卸载流程,确认是否给予相关提示,且操作后业务实现正常
3)卸载后是否同步清理缓存数据或者垃圾数据。
4)卸载时异常情况处理反馈是否正常,包括死机、断电、重启等
5)卸载过程UI测试,确认开始、过程、结束中界面的引导与业务保持一致。
注意:包括文字、图标、图片、进度条、按钮(高亮及非高亮处理)
6)卸载是否支持取消,取消后是否处理正常
注意:确认程序图标、数据、业务功能是否正常

补充:
1)卸载时后台进程关闭确认反馈是否正常
2)卸载时其他进程干扰(接听电话、微信语音)
3)不同系统的卸载处理反馈正常,比如OPPO、Vivo
4)卸载时前后台切换确认处理反馈是否正常
5)卸载时多个软件切换交互反馈是否正常
6)Back键逻辑定义是否符合相应的业务实现
7)不同分辨率、不同尺寸界面是否兼容显示。

UI测试

1)测试对象:对话框、窗口、文本框、下拉列表等控件,其次还包括文字、图片等内容。
2)测试目的:保持界面美观大方、排版布局协调,交互过程中人性化的考虑
3)测试类型:导航测试、图形测试、内容测试。
4)导航测试

  • (1)导航类型:标签式导航(网易云音乐)、抽屉式导航(QQ)、跳板式导航/宫格式导航(美图秀秀)、列表式导航(微信)、悬浮图标导航(好奇心日报)
  • (2)测试点:
    a、是否需要导航
    b、导航是否方便直接,是否结构清晰明了
    c、导航是否需要加入搜索引擎
    d、导航是否准确,连接页面是否设计风格协调统一。
    5)图形测试
  • (1)横行比较,各个控件操作方式保持一致
    注意:包括开始触发行为、页面切换过程逻辑、返回操作形式要保持一致。
  • (2)自适应设计,确定内容根据视图变化协调展示。
  • (3)页面标签风格是否保持统一
    注意:颜色使用不是决定风格设计唯一标准。
  • (4)页面是否美观大方
    注意:以大众审美去考虑。
  • (5)页面图片应有其实际的意义并且整体排布有序合理。
  • (6)同等质量、清晰度、尺寸的情况下应选择占用资源较小图片。
    • 7)页面的颜色不宜使用过多
      6)内容测试(文字内容)
    • 1)文本框的提示内容是否与系统业务保持一致
    • 2)文字长度是否加以限制
      主要考虑:设备尺寸限制、内容理解方便等
    • 3)文字内容是否表意不明
    • 4)文字中是否有错别字
    • 5)文字是否以中文为准
    • 6)文字中是否存在敏感性词汇、关键字:血腥、暴力等
    • 7)图片中是否存在敏感性内容,包括涉及版权、隐私等

monkey测试

主要是测试软件的稳定性,在测试最初,以此工具实现自动化的冒烟测试。
测试过程:
1)启动易测(阿里),输入淘宝账号关联
2)选择被测系统:在应用列表中选择(可以看到程序名以及包名)
3)启动被测系统后,点击易测悬浮图标展开菜单选项
4)选择“monkey”进行测试配置
注意:选择压力主机:本机、云端测试机(多台)
a、运行的时间
b、事件缓冲:单位-毫秒
c、Email:确认发送测试结果的邮箱
d、自定义monkey命令
-p :设置指定测试程序的包名
–pct-touch 80:指定运行事件类型以及运行频率
–throttle 时间:事件缓冲时间设置,单位是ms
运行总次数:最后写入运行总次数
5)结果分析:通过发送跟踪的运行日志来展开分析,主要分析日志中关键内容定位,以日志首行开始,按住ctrl+F,分别输入关键字:crash、ANR、exception(异常)、GC(内存问题)、force_closed(强制退出),搜索定位相关内容,若存在,即有异常缺陷,可进行上下文分析,整理错误信息,最终反馈给开发人员。

运行APP测试

1、APP试运行测试,是否能正常启动
2、APP启动后是否有加载状态提示
3、APP打开速度的测试,确认速度是否可观。
4、APP打开后页面操作是否流畅,且页面逻辑是否正确
5、注册模块的测试

  • 1)同表单编辑是否正常
  • 2)用户名和密码的长度测试
  • 3)注册后前台提示信息是否正常
  • 4)注册后前台和后台的数据是否一致。
  • 5)注册后后台系统提示是否正常。
    补充:通过等价类、边界值对数据分析进行补充考虑。

6、登录模块测试

  • (1)合法账号密码登录是否正常
  • (2)非法登录次数限制是否正常
  • (3)重复登录是否反馈正常
  • (4)封禁账号登录反馈是否正常
  • (5)账号更新或删除,原账号登录是否反馈正常
  • (6)账号或者密码为空时连续登录反馈是否正常
  • (7)登录后账号信息是否显示正常
  • (8)登录后是否同步显示注销(退出登录)
    登录超时是否反馈正常
    7、注销模块测试
  • 1)注销的业务逻辑是否正常
  • 2)注销后数据状态是否反馈正常
  • 3)相关的业务模块注销后处理的逻辑和状态是否反馈正常
    8、前后台测试
  • 1)APP从后台切换至前台,确认APP历史页面是否保留正常。
    注意:前后台切换视图变化较大,所以需要同时关注到页面及功能的影响。
  • 2)APP前后台切换,确认应用的功能及状态是否正常。
  • 3)APP前后台切换,是否导致程序及系统崩溃,确保程序功能是否正常。
  • 4)手机锁屏后解锁,确认APP功能及状态是否正常,是否有无崩溃的情况
  • 5)APP运行时接听电话后挂断,确认APP回到前台是否正常
  • 6)APP 后台运行中关闭进程,确认重启APP是否正常
  • 7)信息提示框在前后台交互时,确认功能及状态是否正常
  • 8)数据交互时,确认前后台切换是否有崩溃等严重问题。
    9、免登录
  • 1)免登录功能,确定版本差异是否能正常处理。
  • 2)免登录在无网时确认逻辑处理是否正常。
  • 3)免登录切换用户时,确认切换后的用户状态及数据是否同步正常,且原用户正常退出。
  • 4)APP若有异地登录限制规则,确认异地登录后,原手机账号是否强制退出,且正常给出信息提示。
  • 5)APP切换前后台,确认免登录账户安全校验是否正常
  • 6)APP切换前后台,确认免登录账户后台更新数据是否正常显示在前台。
  • 7)免登录时,更新账号密码,确认免登录校验是否正常。
  • 8)若APP支持自动登录,确认自动登录功能及数据更新是否正常,其次与免登录交互逻辑是否正常
    注意:自动登录在移动端已经不复存在,所以主要考虑还是免登录业务逻辑本身;其次PC端依然需要考虑自动登录。
  • 9)账号主动退出后,确认免登录逻辑处理是否正常。
    10、数据更新
  • 1)数据更新模式是否匹配业务,确定哪些模块是手动更新,哪些模块是自动更新,或者哪些模块是手动+自动的更新。
  • 2)前后台切换,确定哪些模块需要后台数据更新且正常实现。
  • 3)数据更新时机是否匹配业务,确定哪些模块是否实时更新,确定哪些模块是定时更新。
  • 4)数据更新时处理逻辑是否正常,确定数据是从本地获取,还是从服务器获取,且交互逻辑正常。
    注意:数据更新交互逻辑
  • 5)数据更新异常情况测试,关注数据交互时页面不稳定的情况诱发的各种严重缺陷
    11、离线浏览
  • 1)无网时,确认离线浏览是否正常
  • 2)退出后重新进入,确认离线浏览是否正常
  • 3)切换前后台离线浏览是否正常
  • 4)锁屏后解锁确认离线浏览是否正常
  • 5)离线数据有更新,确认是否有相关数据更新提示且更新后数据和功能正常实现
  • 12、APP更新测试
  • 1)有新版推出后,确认客户端是否能及时推送更新提示。
  • 2)更新策略是非强制更新,确认取消更新后是否可以正常使用旧版本,且重新启动后继续正常推送
  • 3)更新策略是强制更新,确认取消后不可使用旧版本,更新后才可使用,重启后继续给予提示不可以使用。
  • 4)覆盖更新,确认更新功能及状态是否正常。–更新过程
  • 5)覆盖更新,确认版本更新功能实现是否以最新需求考虑。–更新结果
  • 6)更新同名模块不同结构下对相同资源如文件、图片调取是否正常,若无法获取,则是缺陷。

性能测试

1、极限测试

  • 主要是针对手机硬件环境处于极端压力边界值的情况下,确认APP的使用情况是否正常

  • 案例:
    A、内存满时运行APP
    B、电量不足时运行APP
    C、运行APP时突然断网

2、响应能力测试

  • 主要指的是APP运行过程中各个功能操作的响应速度快慢。
  • 案例:app安装、卸载的速度是否正常
    App各个功能性操作是否速度正常

3、压力测试

  • 主要是针对软件进行长期、反复的操作,确认APP是否正常调用资源且功能正常实现。
  • 案例:
    A、长时间安装、卸载,确认资源调用是否正常
    B、长时间对各个业务模块反复操作,确认资源调用是否正常。

4、性能评估

  • 主要通过性能测试工具对服务器模拟用户进行大量访问,确认服务端的性能处理水平是否正常。

自动化测试

十、自动化测试
1、自动化环境配置

  • (1)JDK环境配置
    1)环境变量:指定是JDK的安装目录或者相关资源文件子目录
    2)运行cmd直接调用jdk资源,
    关系:cmd–查找环境变量中的安装目录–找到jdk资源目录–调用成功即可执行,反馈结果。
    3)环境变量配置:
    A、变量名:JAVA_HOME
    变量值:C:\Program Files (x86)\Java\jdk1.6.0;
    B、变量名:Path(系统自带)
    变量值:jdk\bin目录(支持java运行工具)
    %JAVA_HOME%\bin;

    注意:%JAVA_HOME%形式可能存在识别失败的情况,所以需要考虑绝对路径变量值设置。
    绝对路径C:\Program Files (x86)\Java\jdk1.6.0\bin;
    C、变量名:CLASSPATH
    变量值:
    .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;

    4)测试jdk环境配置–cmd输入以下命令
    A、java -version :若环境配置成功,可以返回,java jdk版本号
    B、java :环境配置成功,可以通过此命令获取执行java程序相关信息
    C、javac:环境配置成功,可以通过此命令获取编译运行结果内容
  • (2)adt环境配置
    1)adt压缩文件右键选择“解压到”,选择指定目录进行解压,所选目录-D:\tool(tool文件提前创建好)。
    2)环境变量配置
    文件目录:
    Eclipse:开发工具–》创建AVD(虚拟系统(或模拟器))
    SDK:platforms–虚拟系统资源文件-Android-17–》Android 4.2.2版本;
    Platform-tools–adb.exe工具支持资源文件-PC通过此程序控制手机真机或者模拟,进行通讯访问操作调试。
    tools–monkeyrunner功能自动化测试工具资源文件-录制脚本并回放,通过python语言增强脚本。
    SDK manager.exe-管理系统版本升级。
    A、ADB环境变量
    变量名:Path
    变量值:
    形式一:简化书写
    变量名:Android_Home
    变量值:SDK目录-D:\tool\adt4_2_32bit\sdk;
    变量值:%Android_Home%\platform-tools;
    形式二:绝对路径
    变量值:D:\tool\adt4_2_32bit\sdk\platform-tools;
    B、monkeyrunner环境变量
    变量名:Path
    变量值:绝对路径
    D:\tool\adt4_2_32bit\sdk\tools;
    C、测试环境配置(cmd环境操作)
    (1)adb环境测试:adb version -返回adb版本号(成功)
    ;adb-返回adb版本号及执行信息。
    (2)monkeyrunner环境测试:
    Monkeyrunner–返回jython环境及运行版本号,提示符号是:>>>
    注意:环境变量配置更新后,cmd须重启再进行测试验证。

2、monkey测试
(1)基本概况
Monkey是Android自带的工具,可以模拟用户各种操作行为,比如滑动、点击、系统级操作(back/menu/home)等,随机运行操作被测系统,最终确定软件运行的稳定性及健壮性是否符合要求。
(2)monkey命令基本类型
1)基本配置选项:比如运行事件数量
2)运行约束配置选项:比如指定运行程序的包名
3)事件类型和频率:运行事件情况以及运行覆盖比率。
4)调试配置选项:比如忽略崩溃(ignore crashes)、忽略超时等

monkey测试

  • 1、基本选项配置
    1)-p:package(包)
    作用:通过-p指定运行的程序,以程序包名的形式区分识别。
    语法:-p 包名
    应用:a、单个程序指定
    Adb shell monkey -p com.baidu.browser 10
    b、指定多个程序运行
    Adb shell monkey -p com.baidu.browser -p com.uc.browser 100
    c、不指定任意程序
    Adb shell monkey 100
    注意:不指定任何程序意味对整个系统进行覆盖测试,包括本地及第三方任意APP,以及系统交互等。
    2)-v:日志跟踪
    作用:根据monkey运行情况进行不同等级详细程序日志跟踪记录。
    语法:-v 区分不同等级以数量多少来实现。
    注意:-v之间有空格间隔。
    等级:分为3个等级
    第一个等级:level 0
    记录内容:包括基本启动提示,运行过程以及最终结果内容日志信息。
    第二个等级:level 1
    记录内容:相对比较详细,包括选中activity事件响应的详细信息。
    第三个等级:level 2
    记录内容:最为详细,包括选中的/未选中activity事件响应的详细信息。
    应用:
    Adb shell monkey -p com.uc.browser -v -v -v 10
    3)-s:随机种子数
    作用:通过控制随机种子,即seed值,可以确保多次的随机运行是相同的事件执行逻辑。比如:测试1-先点击后滑动 -s 10 测试2:1-先点击后滑动 -s 10
    语法: -s 随机种子数
    注意:数字是任意指定的,一般整数即可。其次不指定的情况,系统随机分配随机种子数,可通过跟踪日志查看。
    应用:
    测试1: adb shell monkey -p com.baidu.browser -s 10 -v -v -v 100
    测试 2: adb shell monkey -p com.baidu.browser -v -v -v 100
    测试 3: adb shell monkey -p
    com.baidu.browser -s 15 -v -v -v
    100
    达成一致的运行逻辑:
    测试 4:adb shell monkey -p
    Com.baidu.browser -s 10 -v -v -v
    100
    目的:a、保证测试人员可以重现缺陷
    b、返测确认缺陷是否修复
    4)throttle:事件缓冲
    作用:通过指定间隔时间,确保事件运行过程中有相应时间等待缓冲。
    语法:–throttle 时间 单位:毫秒
    应用:adb shell monkey -p com.baidu.browser -s 15 --throttle 3000 -v -v -v 100
    5)–ignore-crashes :忽略崩溃
    作用:保证monkey测试能够在崩溃时忽略此问题继续往后执行,最终保证运行稳定性、完整性、准确性。
    语法:–ignore-问题情况,比如crashes、timeouts等
    应用:adb shell monkey -p
    Com.baidu.browser -s 20 --throttle 300 --ignore-crashes --ignore-timeouts -v -v -v 100
    6)–pct-事件类型 运行频率
    作用:控制monkey测试中运行事件行为以及所运行覆盖比率。
    语法:–pct-touch 80:指定运行事件为点击、触摸,运行比率占到80%
    事件类型可以有不同考虑:motion、syskeys等。
    应用:adb shell monkey -p com.baidu.browser -s 10 --pct-touch 70 --pct-motion 20 --pct-syskeys 5 --throttle 300 --ignore-crashes --ignore-timeouts -v -v -v 100
    • 2、AVD创建(安卓虚拟设备)
      1)主要操作方式:通过eclipse创建AVD,可以配置AVD名称、设备系统(4.2)、硬件参数(分辨率+尺寸),其次还包括运行内存、存储内存配置。
      2)AVD 创建步骤:
      A、在SDK\eclipse–eclipse.exe 程序,双击启动,注意对提示窗框选择“cancle”;在首页“Android IDE”右侧点击“X”。
      B、在工具栏点击“Android virtual device manager”,进入管理页面点击右侧“New”按钮,分别配置以下参数:
      AVD name:模拟器名称
      Device:设备尺寸及分辨率
      Target:系统目标版本,代指Android系统版本。
      Memory Options :运行内存配置,可自行调整,一般默认即可。
      注意:谷歌对之前Android版本有内存的限制,如果大于1GB可能无法启动,所以一般以默认配置为准。
      其次还包括:CPU、前置后置摄像头、存储内存、SD card(外置存储)。
      最后,确认参数无误,点击OK创建完成。
      C、在虚拟系统管理列表选择已创建的AVD,点击“Start”启动虚拟系统,之后在启动设置页面不做任何修改,点击“Launch”即可。
      3)虚拟系统中–monkey测试
      A、获取虚拟系统中计算器的包名
      a、Adb devices:获取连接的设备,确定设备连接情况。
      b、连接设备正常,进入adb shell 命令环境;输入pm list package :获取设备中所有程序的包名。确定计算器包名:com.android.calculator2
      c、设计monkey命令:
      adb shell monkey -p com.android.calculator2 -s 10 --throttle 300 --ignore-crashes --ignore-timeouts -v -v -v 10 >D:\monkey_test.log
      注意:1)格式中不要有回车操作,空格即可;2)命令的完整性:不要遗漏关键字;3)拒绝访问–命令设计有问题,环境有异常:比如安全软件干扰。4)日志跟踪简单:-v之间没有空格
      d、运行后日志分析
      首先找到PC端保存日志位置,确定日志文件是否正常,确定后打开文件从首行开始分别搜索(Ctrl+F):crash/ANR/GC/exception/force_closed 等关键字,若定位到相关内容,依次上下分析查找,定位错误信息,整理后反馈给开发人员即可。
      e、日志内容类型
      1)随机种子数及运行总次数
      2)运行程序包名
      3)事件覆盖比率
      4)事件操作的详细信息

思路:1、考虑测试程序–获取程序包名
Adb shell --pm list package
包名:com.android.browser
2、设计monkey命令
Adb shell monkey -p com.android.browser --pct-touch 50 --pct-motion 20 -s 10 --throttle 1000 --ignore-crashes --ignore-timeouts -v -v -v 50 >D:\test1.log
3、运行monkey命令,在PC端查找日志文件,进行缺陷定位:ANR、exception等,上下分析定位相关的错误信息,整理后反馈开发人员即可。
补充:适当加入事件类型控制
4)真机monkey测试
环境部署:
A、PC端安装匹配手机驱动程序
B、借助手机数据连接PC端和手机端
C、通过adb进行访问控制,直接输入设计monkey命令运行即可。

adb联机调试测试

  • 1、基本概况
    Adb :Android debug bridge(安卓调试桥)
    作用:可以通过adb由PC访问控制手机端(手机真机、模拟器),最终进行联机调试
    文件所在位置:sdk\platfrom-tools
    设备管理:可以通过adb同时管理多个设备,包括真机以及模拟器。
  • 2、adb 运行原理
    PC-adb客户端程序–》adb 服务器进程(默认端口号5037)—》分别指向模拟器(直接就访问控制)、手机真机(通过Android后台adb进程进行不同平台访问控制)
  • 3、命令操作
    1)adb devices :查找设备
    作用:就是通过此命令可以获取到当前连接到的手机设备,包括手机真机以及模拟器
    查询结果:
    A、模拟器:名称- emulate-端口(默认5554)
    B、手机真机:名称- Android ID–十六进制随机生成数字组成。
    C、连接状态:device-设备已就绪;offline:离线状态。
    2)adb push:推送文件
    作用:从PC指定位置指定文件将其推送(上传)至手机端指定位置
    语法:adb push pc端文件位置+文件名称+文件后缀名 手机端存储位置
    应用:adb push D:\1.txt /data

1、创建文件并确定存储位置
2、Adb push命令:adb push D:\test2.txt /data
测试验证是否上传成功:
1)pwd:确定当前所在位置
2)跳转到目标文件位置:cd /data
3)Pwd 确定当前跳转位置是否准确
4)确定无误,直接查看文件夹所有文件:ls (ls -l ),查找目标文件,确定是否存在。
5)若存在文件,则确认文件内容:cat 文件名称–cat test2.txt ,信息无误后确认上传成功。
3) adb pull :下载文件
作用:从指定手机端的指定位置指定文件下载PC端指定位置指定文件名。
语法:adb pull 手机端文件位置+文件名+后缀名 PC存储位置+文件名
应用:adb pull /data/test2.txt D:\test3.txt
目的:主要是通过此方式获取日志文件,从PC端更好记录分析内容。
4)adb logcat :获取运行日志
作用:通过此命令获取手机运行过程中记录到所有日志内容。
形式:a、持续跟踪记录获取内容
Adb logcat >D:\app1.log
b、阶段性记录跟踪,一次读取完结束运行
Adb logcat -d >D:\app2.log
注意:联机调试测试主要是业务功能覆盖,去关注底层日志分析,最终获取到更多隐含的缺陷。

adb操作命令

  • adb install (安装程序)
    作用:通过adb客户端自动向手机端发送安装包并安装该程序
    语法:adb install 安装程序所在位置及文件名+后缀名
    应用:adb install D:\helloworld.apk
  • adb uninstall (卸载程序)
    A、获取包名:借助aapt.exe 程序
    语法形式:aapt dump badging 程序安装包
    包名信息:package:name=‘包名’
    Adb shell dumpsys window |grep mCurrent:打开程序的包名获取
    B、卸载程序
    作用:通过adb对手机端指定程序进行卸载
    语法:adb uninstall 程序包名
    应用:adb uninstall com.day01.helloworld

方式一:adb shell pm list packages
过滤:|grep 关键字
方式二:aapt dump badging 安装包
方式三:adb shell dumpsys window |grep mCurrent
注意:需要先启动被测系统
要求2:获取后卸载该程序
Adb uninstall 程序包名
7)adb shell常用命令
A、pwd :获取当前所在目录位置
B、cd:跳转目录
C、ls:查看目录中所有文件
注意:ls -l 查看文件及相关属性信息
D、date(区分data:数据):获取当前系统日期及时间
E、cat /proc/meminfo :查看当前内存信息
F、cat /proc/cpuinfo:查看当前cpu信息
G、ps:查看当前运行进程相关信息
H、|grep:过滤查询

monkeyrunner

  • 1、本质:Android\SDK自带自动化测试工具(tools)
  • 2、概况:对比手工测试
    人: 自动化–》python
    操作方法:自动化–》monkeyrunner:方法(函数)
    结果验证:自动化形式对比测试结果。
  • 3、特点:
    A、多设备的自动化实施
    B、功能测试
    C、回归测试
    D、可实现更多自动化扩展
  • 4、运行原理
    案例:修理工修家具
    修理工—工具箱:工具—是否修理好
    Monkeyrunner:
    修理工:python–主角
    工具箱:monkeyrunner:工具类–不同函数、方法
    修理家具:执行自动化测试,确认结果
  • 5、monkeyrunner常用api
    (1)MonkeyRunner(工具类)
    1)waitForConnection()
    语法:返回值类型-MonkeyDevice
    方法名:waitForConnection
    参数:float timeout(超时时间); String deviceID (设备ID)
    应用: device=waitForConnection()
    作用:连接手机设备(包括模拟器以及真机)
    2)sleep()
    语法:返回值类型-void(无返回类型)
    方法名:sleep
    参数:float second (单位:秒)
    应用:sleep( 3)==>等待3s
    作用:等待指定时间后再继续往后执行
    (2)MonkeyDevice(工具类)
    1)常量–操作逻辑形式
    A、‘UP’(常量所有字母大写)
    String -字符串类型
    作用:抬起的逻辑形式
    B、‘DOWN’
    String-字符串类型
    作用:按下的行为逻辑
    C、‘DOWN_AND_UP’
    String-字符串类型
    作用:按下后抬起的行为逻辑
    2)常用方法
    A、wake()–点亮屏幕
    语法:返回值类型:Void(无返回值类型)
    方法名:wake
    参数:无
    作用:通过该方法对当前页面进行点亮屏幕的形式操作。
    B、type()–输入
    语法:返回值类型:void
    方法名:type
    参数:string message
    作用:通过type在文本框输入指定内容
    应用:device.type(‘123456’)
    C、touch()–触摸
    语法:返回值类型:void
    方法名:touch
    参数:integer X,integer y , integer type
    作用:对指定控件进行点击操作形式。
    应用:device.touch(253,130,’DOWN_AND_UP’)
    D、drag()–滑动
    语法:返回值类型:void
    方法名:drag
    参数:开始坐标位置,结束的坐标位置,duration(持续时间),步骤插值。
    作用:通过该方法对于手机页面进行指定位置滑动操作
    应用:device.drag(253,156,253,200,2,10)
    补充:长按如何实现?
    解决方案:device.drag(253,156,253,156,2,10)
    注意:滑动时考虑x轴一般是左右滑动实现,y轴是上下滑动的实现。
    E、takeSnapShot()–截图
    语法:返回值类型:MonkeyImage
    方法名:takeSnapShot
    参数:无
    作用:通过该方法实现对当前界面内容图片截图。
    应用:result=device.takeSnapShot()
    F 、常用按键操作
    方法:press()
    语法:返回值类型:void
    方法名:press
    参数:按键名称,操作逻辑形式(‘DOWN_AND_UP’)
    常用按键:
    三大主键:KEYCODE_HOME(HOME键)、KEYCODE_MENU(MENU键)、KEYCODE_BACK(BACK键)
    其他按键:KEYCODE_CALL(拨号键)、光标移动:KEYCODE_DPAD_UP,KEYCODE_DPAD_DOWN,KEYCODE_DPAD_LEFT,KEYCODE_DPAD_RIGHT.
    (3)MonkeyImage (工具类)
    1)writeToFile()—写入文件
    语法:返回值类型:void
    方法名:writeToFile
    参数:String path(保存路径),String Format(保存格式)
    作用:通过该方法保存指定截图的图片内容,会有相应的保存位置和图片类型。
    应用:result.writeToFile(‘D:\test1.png’,’png’)
    2)sameAs()----对比图片
    语法:返回值类型:boolean(布尔)
    方法名:sameAs
    参数:指定其他图片,差异百分比
    作用:通过该方法确认需求截图和运行截图是否百分相似,如果相似则测试通过,反之不通过。
    应用:result.sameAs(‘D:\test2.png’,0. )
  • 6、获取坐标位置及录制回放
    1)基本设置:通过系统设置–开发者模式设置–pointer Location ,点击勾选即可,最后操作手机时就会获取相应位置的坐标。
    2)通过自动化形式实现:借助MonkeyRunner中recorder包中有MonkeyRecoder工具类型可支持录制获取坐标。
    代码形式:
    from com.android.monkeyrunner import MonkeyRunner
    from com.android.monkeyrunner.recorder import MonkeyRecorder
    device = MonkeyRunner.waitForConnection()
    MonkeyRecorder.start(device)
    注意:启动不了:1、环境有异常,2、打开多个cmd窗口且同时进入到monkeyrunner环境
    3)回放脚本
    A、将录制完成后导出脚本进行文件类型修改:***.mr,加上后缀名mr
    B、获取monkey_playback.py文件,最后同时选择导出脚本和配置文件复制粘贴D:\sdk\tools目录下。
    C、Cmd 中输入monkeyrunner monkey_playback.py monkey.mr,回车运行即可。

补充:monkeyrecorder工具选项操作: wait -等待时间设置
Typesomething -输入内容
Fling --滑动,通过东西南北来指定上下左右滑动
Exportactions:导出录制脚本
Refrash display:刷新屏幕
Press :控制系统按键操作,包括menu、back等。
总结:
1、脚本录制,MonkeyRecorder录制启动代码,在monkeyrunner运行环境输入后执行即可
注意:模拟器或者手机设备已正常连接
2、脚本录制操作:点击、滑动、系统按键、wait等待间隔运行时间。
注意:对于操作中获取对象都会有坐标定位记录。导出录制脚本至桌面,保存文件修改后缀名为.mr。
3、回放脚本:进行python文件配置(文件:monkey_playback.py)把该文件同导出mr脚本文件同时放入sdk下tools目录下,
4、执行命令:monkeyrunner monkey_playback.py monkey.mr
回车运行即可

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值