执行步骤
1.连接手机
2.安装APP并配置config文件
此步可选(启动appium 服务,不启动也能执行,查看结果和报告)
3.切到 UICrawler-2.0.jar 目录下执行即可.
手机准备工作
# adb连接手机
adb devices
# 获取设计设备序列号
adb get-serialno
ENU7N15A30004129
# adb安装app
adb install app包地址(可直接拖过来)也可以直接写路径地址
连接模拟器
# 模拟器设备号
127.0.0.1:62001
连接实体手机的设置基本是一样的
adb获取app的包名和activity
# 获取第三方app的包名
adb shell pm list packages -3
# 获取当前正在运行的app的activity
adb shell "dumpsys window | grep mCurrentFocus"
# 时代财经包名
package:com.timeweekly.timefinance
# activity
mCurrentFocus=Window{41167c u0 com.android.launcher3/com.android.launcher3.Launcher}
# 掌上英雄联盟app包名
package:com.tencent.qt.qtl
# 掌上英雄联盟app的activity
mCurrentFocus=Window{e6b1542 u0 com.tencent.qt.qtl/com.tencent.zone.main.LauncherActivity}
#今日头条app的包名
package:com.ss.android.article.news
# 今日头条app的activity
C:\Users\xxxx>adb shell "dumpsys window | grep mCurrentFocus"
mCurrentFocus=Window{12a72a4 u0 com.ss.android.article.news/com.ss.android.article.news.activity.MainActivity}
# 根据包名可获取对应的activity
adb shell dumpsys package XXX
# 查看app的基本信息,权限信息等
C:\Users\xxxx>adb shell dumpsys package com.tencent.qt.qtl
# 获取系统版本:
adb shell getprop ro.build.version.release
参考:
https://www.cnblogs.com/zhuminghui/p/10457674.html
UICrawler启动执行配置
# 执行UICrawler
D:\BaiduNetdiskDownload>java -jar UICrawler-2.3.jar -f config.yml -u ENU7N15A30004129
# 模拟器
D:\BaiduNetdiskDownload>java -jar UICrawler-2.3.jar -f config.yml -u 127.0.0.1:62001
# 传参-m 即可运行配置中的 monkey 相关设置
java -jar UICrawler-2.0.jar -f config.yml -u yourSerialNo -m
如何停止
q
命令参数
cmd@TR:~/UICrawler$ java -jar UICrawler-2.0.jar -h
16:41:03.088 [main] INFO Crawler - -h Print this usage information
-a Android package's main activity
-b iOS bundle id
-c Maximum click count
-d Maximum crawler UI depth
-f Yaml config file
-i ignore crash # 忽略奔溃
-l loop count #设置循环次数,一次遍历时间结束后,会再次进行count次遍历时间
-m run monkey #运行配置中的 monkey 相关设置
-p Android package name # 不退出app,若退出会再次重新启动
-r Crawler running time # 设置遍历时间
-t Appium port # appium端口号,默认是4723
-u Device serial # 手机设备udid
-v Version
-w WDA port for ios
报错
# appium启动服务后,日志提示如下:
[HTTP] No route found. Setting content type to 'text/plain'
[HTTP] <-- GET /json 404 1 ms - 47
执行结果
说明
UICrawler存放位置
可随意存放,使用时,进入所在目录,cmd进入,去执行即可
执行完成,在此目录下会生成对应的报告文件
不建议用需要登录的app操作演示
config.yml更改配置
时间
UICrawler.jar更新
说明:使用开发优化后的jar包,去执行自动化脚本
运行UICrawler Monkey
#设置事件百分比 各事件百分比之和为100
MONKEY:
#运行时间,以分钟计
MONKEY_RUNNING_TIME: 180
#以下各项值总和需为100
#滑动事件百分比
SWIPE_RATIO: 0
#点击事件百分比
CLICK_RATIO: 100
#点击MONKEY_SPECIAL_POINT_LIST中的坐标 主要用于触发"返回"功能
CLICK_SPECIAL_POINT_RATIO: 0
#重启APP事件百分比
RESTART_APP_RATIO: 0
#对应 LONG_PRESS_LIST:特殊坐标长按(10秒)
LONG_PRESS_RATIO: 0
#Android Only按Home键事件百分比
HOME_KEY_RATIO: 0
#Gesture https://www.jianshu.com/p/095e81f21e07
DOUBLE_TAP_RATIO: 0
PINCH_RATIO: 0
UNPINCH_RATIO: 0
MONKEY_LIST:
#提高测试效率,点击以下点(x,y)时会触发"后退"操作,避免在一个页面停留时间太久
MONKEY_SPECIAL_POINT_LIST:
- '70,140'
#根据以下坐标长按10秒
LONG_PRESS_LIST:
- '980,560'
#设置不点击的区域, radius用来设置以下列坐标为圆心,不想点击的半径区域
#MONKEY_BLACKLIST_POINT_LIST:
#- 'radius,10'
#- '0,0'