APP测试基础-自动化基础(2)

测试环境

夜神模拟器 下载链接
droid Studio --> SDK 下载链接
JDK 下载链接


自动化环境部署
以下介绍的是eclipse
1.环境资源

  • adt–>安卓开发工具
  • jdk–>java开发工具

文件

2.资源部署

1)解压Android_test.rar 文件到指定目录在这里插入图片描述

  • eclipse – java 开发工具,编写并解析执行java代码
  • sdk --软件开发工具,提供大量Android辅助工具:adb/aapt、monkeyrunner
  • SDK Manager.exe --版本更新工具,更新资源文件

2)安装JDK 1在这里插入图片描述
java 配置

开发工具:左侧交表点击选择第二项
安装目录默认即可
单击下一步

java SE 配置

java SE左侧交表选择:第二项
与java配置一样,下一步即可

在这里插入图片描述

jdk:属于开发及测试人员支持的文件资源,提供运行环境及辅助支持工具(jdk1.6.0)
jre:属于普通用户使用资源,相对功能简单

配置环境变量
1)jdk环境变量
找到安装的目录,复制路径
新建变量 JAVA_HOME
在这里插入图片描述

2.找到Path变量(这是WIN7截图,WIN10显示友好一些)
光标移至尾行追加:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
注意加分号(英文输入法的分号)
点击2个确定
在这里插入图片描述
3.验证
win+r 输入cmd 打开 DOS窗口输入命令

set java

在这里插入图片描述
在这里插入图片描述

显示以下内容,如果是显示是jdk1.8.0的朋友可以把环境变量java1.6.0移到1.8前


2)==配置adb==

1.新建变量
ANDROID_HOME
复制SDK所在目录在这里插入图片描述
2.path中追加

%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;%ANDROID_HOME%\build-tools\28.0.3;

3.验证

adb -version

在这里插入图片描述


3、创建AVD(安卓虚拟设备)
1)启动eclipse.exe
在这里插入图片描述
2)配置AVD
启动位置:工具栏–安卓虚拟设备管理选项在这里插入图片描述
在这里插入图片描述
配置AVD参数

在这里插入图片描述

ADB简介

1.adb(Android Debug Bridge) ---->ADB中文文档
它就是一个命令行窗口,用于通过电脑端与模拟器或者真实设备交互

  • 电脑上运行的客户端
  • 在你用于开发及其上作为后台进程运行的服务器
  • 一个以后台进程的形式运行于模拟器或设备上的守护程序(daemon)

说白了就是手机和电脑之间的桥梁如名称一样Bridge

2.ADB命令的主要功能

  • 运行Android设备的shell
  • 管理模拟器或Android设备的端口映射
  • 安装/卸载APK程序
  • 计算机和Android设备之间上传/下载文件

3.常用命令

adb

adb kill-server  \\ 关闭ADB服务
adb start-server  \\ 启动ADB服务
adb devices [-l]  \\ 查看当前连接设备,模拟器或者真机
--> [serialNumber] [state]

在这里插入图片描述

如果连接有问题,重启了ADB服务,会出现以下情况,重启虚拟机可以解决
在这里插入图片描述
这里是虚拟机,如果是真机,保证和PC在同一个网段,然后设置端口,进行连接
上方中文文档中有详细介绍

模拟器多开:
在这里插入图片描述

安装和卸载APK程序

adb insatll <.apk 路径>
adb uninstall [-k] <包名>  \\ -k卸载程序但保留配置和缓冲文件

aapt dump badging <.apk 路径>  \\ 查看.apk相关信息

没有.apk包的时候,打开移动端的app,查看包名和activity
adb shell dumpsys window | findstr mCurrentFocus

在这里插入图片描述
路径直接拖窗口中在这里插入图片描述
多个设备中指定设备

adb [-d|-e|-s <serial Number>] <command>
-d 真机(多个设备中只有一个真机)
-e 虚拟机(多个设备中只有一个虚拟机)
-s 序列号  \\ 一般直接用序列号就OK

上传和下载

adb push <本地路径> <远程路径>  \\ 上传
adb pull <远程路径> <本地路径>  \\ 下载

example:
虚拟机截屏,把文件pull到PC

adb shell screencap /sdcard/screen.png   \\ 配合 shell 命令截屏
adb pull /sdcard/screen.png C:\Users\xxx\Desktop\test\   \\ 下载到本地路径

在这里插入图片描述
在这里插入图片描述

同样适合大多数Linux命令

adb shell ls /system/bin   \\ 查看相关命令

在这里插入图片描述
当然可以直接进入shell操作

adb shell
退出shell :exit

在这里插入图片描述

生成日志辅助调试

adb logcat  \\ 实时跟踪
adb logcat -d  \\ 一次读取缓存日志
adb logcat > path  \\ 重定向生成日志文件
adb logcat:*w  \\ 等级过滤查看warning,*E(error)
adb logcat -v time  \\ 查看时间相关的日志内容
adb logcat -v process  \\ 以程序进程ID内容进行查看
adb logcat -c   \\ 日志缓存的清除

在这里插入图片描述
敲完命令没有任何提示,查看相应路径是否生成文件,直接Ctrl + c退出即可
剩余adb相关命令,可参考中文文档

Android
常用Android命令

android sdk  
// 打开SDK管理器,更新和下载之类的操作
android avd  
// 打开AVD原生模拟器
android list avd
// 列出模拟器以及相关信息

Monkey
使用过程:
1.使用模拟机或者真机,注意要在DOS里面使用adb devises验证
2.找到APP应用程序的包名,也就是packageName
3.写出monkey命令进行测试

相关命令
adb shell monkey [param]

adb shell monkey 1000  \\ 随机操作1000次  
adb shell monkey -p packageName 1000 \\ -p 指定软件操作

在这里插入图片描述
-v 操作日志记录

  • -v Level 0 缺省值 启动提示、测试完成和最终结果,提供较少信息
  • -v -v Level 1 提供较为详细的测试信息,如逐个发送Activity的事件
  • -v -v -v Level 2 更加详细,如测试中被选中的或者未被选中的 Activity
adb shell monkey -p packageName -v -v 1000 > d:\monkey_logcat.log

简单查看日志:关键字(error, exception, anr, crash)
可以查看相应关键字前后的动作如:touch(点击)
switch后跟的信息,异常或者报错大部分都在该关键字后

monkey的关闭:
在这里插入图片描述
可以看出monkey为移动端的命令,执行monkey则会创建进程,所以找到相应PID,kill即可
对于真机而言,就算拔掉数据线也无法停止monkey,也别重启机器了(dog)

adb shell
ps | grep monkey
kill pid

需要注意的就是执行了monkey过后,ctrl + c 之后,再执行三行命令

–pct的使用
--pct-touch <percent>
调整触摸事件的百分比(触摸事件是一个down-up事件,它发生在屏幕上的某单一位置。

Note:
percent代表了这个事件占到所有随机事件的百分比数,多个参数指定的时候,加起来的百分比数不能多于100。剩下的几个参数同理:

--pct-motion <percent>
motion一般代表的是直线滑动,事件由屏幕上某处的一个down事件、一系列的伪随机事件和一个up事件组成;

--pct-trackball <percent>
轨迹事件由一个或几个随机的移动组成,有时还伴随有点击;

--pct-majornav <percent>
引发图形界面中的动作,如:5-way键盘的中间按键、回退按键、菜单按键;

--pct-syskeys <percent>
这些按键通常被保留,由系统使用,如Home、Back、Start Call、End Call及音量控制键;

--pct-appswitch <percent>
在随机间隔里,Monkey将执行一个startActivity()调用,作为最大程度覆盖包中全部Activity的一种方法;

--pct-anyevent <percent>
它包含了所有其它类型的事件,如:按键、其它不常用的设备按钮等等

e.g.:

adb shell monkey -p com.tencent.mm --pct-touch 50 --pct-trackball 30 100

执行100次的随机事件中,有50%的touch事件和30%的轨迹事件,其他事件随机比例分布

--throttle [millisecond]
频率,表示多久执行一次事件
e.g.:

adb shell monkey -p com.ulang.jjk --pct-touch 50 --pct-trackball 30 --throttle 300 2000

执行2000次的随机事件中,有50%的touch事件和30%的轨迹事件,其他事件随机比例分布,每300ms执行一次事件在这里插入图片描述

-s [number]
随机种子数
指定相同的数字,执行逻辑相同,及monkey执行事件顺序比例都相同

adb shell monkey -p <package_name> -s 10 --throttle 300 -v -v -v 800
两者执行结果相同,可以生成日志文件查看,相当于就是这一次monkey的编号
adb shell monkey -p <package_name> -s 10 --throttle 300 -v -v -v 800

调试及忽略异常

  1. 忽略崩溃 --ignore-crashes 规避崩溃(crash)
  2. 忽略超时 --ignore-timeouts规避未响应(ANR)
  3. 忽略安全异常 --ignore-security-exceptions 规避网络许可异常或者权限异常等问题
  4. 忽略本地崩溃 --ignore-native-crashes 规避本地系统遇到的异常崩溃情况
  5. 监控本地崩溃 --monitor-native-crashes 监控本地崩溃的系统代码,根据跟踪分析问题

e.g.

adb shell monkey -p <package_name> --ignore-crashes --ignore-timeouts 1000

固定加入参数就OK了

通过调试选项针对crash,anr,本地崩溃、安全异常进行调试控制,保证monkey测试的持续、完整有效

adb命令可以配合用python+appium写脚本:

import os
os.system('adb shell monkey 1000')
os.system('adb install <.apk of path>')
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值