APP自动化测试---adb常用命令+monkey自动化

APP自动化测试---adb常用命令+monkey自动化

adb常用命令

1、模拟器连接检查【adb常用命令】
adb devices --查看当前pc连接的设备号
adb connect 127.0.0.1:62001 --连接模拟器地址
注意这里会出现问题版本问题,怎么解决呢?请参考文档《模拟器连接问题手册》
adb logcat 查看日志
adb help 显示adb命令的列表
adb start-server 启动服务
adb kill-server 终止服务
adb install*.apk --安装apk
adb push --把pc端的文件放到终端中

例如:adb push d:\android.log\data\data
adb pull --把客户端里的文件发送到pc端

例如:adb pull \data\data\ d:\demo
adb logcat| find START --查看包名和activity
adb shell am start -W -n package/.activity --启动app
adb shell am force-stop package --关闭app
adb shell input keyevent3 --app退到后台运行
adb shell dumpsys cpuinfo | findstr package --查看cpu
adb shell ps | findstr package --获取进程pid
adb shell cat\proc\pid\net\dev–查看进程流量
adb shell top --获取内存
VSS-Virtual Set Size --虚拟耗用内存
RSS -Resident Set Size --实际使用物理内存

2、adb shell–通过命令进入到手机内核系统
通过pc桌面操作手机桌面(模拟器)
进入到系统文件:
ls
cd data
cd local
ls
cd temp
ls
exit—退出
cls 清空

3、案例介绍:monkey自动化
1、在模拟器中搜索下载网易严选,打开网易严选
,打开时提示需要更新,将软件更新到最新版本。

2、在cmd输入 adb shell monkey -p com.netease.yanxuan -v 1000
随机操作1000次
-v执行次数

执行百度随机操作app1000次
adb shell monkey -p com.baidu.searchbox -v 1000

adb shell monkey -p com.netease.yanxuan --throttle 2000 -v 10
随机操作10次,每一次间隔2秒
–throttle 2000 延迟2秒点击一次,

adb shell monkey -p com.netease.yanxuan -s 123456 -v 1000
-s 123456 系列号 记录操作流程;下次执行这个编号还会按照这个步骤来操作。

使用ieda编写脚本
1、创建工程名字file–new–project (选择maven工程)
加载java jdk
添加groupid 域名倒着写:如com.baidu
artifactid 工程名称 自定义

右下角的弹出框中选择enable auto-import —导入自带的一些操作
如果右下角没有弹出框,找到左下角的小图标搜索一下
【调整字体大小:file–》settings–》editor–》font】

选择mpom.xml 引入jar(炸包)包

–引入jar(炸包)包

io.appium
java-client
4.1.2

–添加框架

org.testng
testng
6.9.10

android sdk 介绍安装文件中找 tools
ddms.bat–调试
uiautomatorviewer 元素定位工具

启动appium
app应用设置
设置:不要勾选任何选项
开发者设置
帮助

android基本知识介绍
什么是package
package 包的意思。安卓系统的程序是已apk作为扩展名的,.apk就是 android package的简写,package也就是这个app的唯一标识,其实这里的package和java程序中的包一个意思。一般去测试某个程序,都是从这个程序的package入手的,测试初始的代码都会指定app的package
比如:capabilities.setCapability(“appPackage”,“com.android.androidui”)
这就告诉appium要测试的app是什么

什么是Activity?
Activity 活动;活动是最容易吸引到用户的地方了,它是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或多个活动。通俗讲就是用户看到的界面就是Activity。
标识:com.android.androidui.Activity,测试初始化代码是这样写capabilities.setCapability(“appActivity”,“com.android.androidui.MainActivity”);

四种布局
布局–布局–控件
布局–控件

LinarLayout:会线性布局,一种非常常用的布局;这个布局会将它所包含的控件在线性方向上依次排列。
RelativeLayout:相对布局,也是比较常见的布局,相比较LinarLayout显得更加随意一些,它可以通过相对定位的方式让控件出现在布局的任务位置。
FrameLayout 相比较前面两种这种比较简单,应用常见少,没有任何定位方式,所有的控件都会摆放在布局的左上角。
ListView 是android最常见的控件之一,界面的收缩、展开

控件
TextView --文本域
Button—按钮
EditText–是程序用于和用户进行交互的另一种重要控件,它允许用户在控件里输入和编辑内容,并可以在程序中对这些内容进行处理。比如登录页面:用户名/密码输入框
Alert
Toast
Bar
Webview

编写用例:
获取activtity 和package
打开模拟器,将严选打开,再通过命令找到当前窗口
adb shell dumpsys window |findstr mCurrentFocus

进入到存放包的文件夹中例如:cd d:\android
aapt dump badging yanxuan-aos_out_109.apk

元素定位方式:
通过id定位元素
通过text定位元素
通过classname定位元素
通过xpauiautomatorth
accessibilityld
坐标

C:\Program Files (x86)\Common Files\Oracle\Java\javapath;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0;C:\Program Files (x86)\QuickTime\QuickTime\QTSystem;C:\Program Files\TortoiseSVN\bin;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;C:\Program Files\nodejs;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;C:\Program Files (x86)\Appium\node_modules.bin;D:\Program Files (x86)\nox\bin;D:\android\android-sdk-windows\build-tools\28.0.1

com.baidu.searchbox

猜你喜欢

转载自blog.csdn.net/m0_47906344/article/details/114364257