UICrawler

https://github.com/lgxqf/UICrawler

基于 Appium 1.8.1 开发的 App UI 遍历 & Monkey 工具 (Java 版 )

QQ 技术交流群 : 728183683

环境搭建及基本使用说明: https://testerhome.com/topics/14490 (感谢网友 harsayer 倾力之作)

2.0 版 功能描述

1.UI 遍历及以下功能 Android/iOS

2.Monkey 功能及以下事件 Android/iOS

3.微信小程序

4.其它功能

5.待开发功能

运行工具

1.下载 Jar 包

UICrawler.jar

2.下载配置文件

config.yml

3.根据待测试 App 修改配置文件中下列各项的值 详情见 Config.md

Android

4.启动 appium

appium --session-override -p 4723
-p 设定appium server的端口 , 不加参数默认为4723

5.1 运行元素遍历 (必须有 yml 配置文件)

java -jar UICrawler.jar -f config.yml -u udid -t 4723
-u 指定设备udid
-t 指定appium server的端口(此项为可选项,默认值是4723)

5.2 运行 Monkey 功能

java -jar UICrawler.jar -f config.yml -u udid -t 4723 -m

5.3 运行微信小程序测试,需修改 MINI_PROGRAM_NAME 的值,并按照下面的值设置 CRITICAL_ELEMENT 中相应的值,才会启动微信进入小程序

#小程序
MINI_PROGRAM:
  MINI_PROGRAM_NAME: 此处值为待测的小程序的名字
  MINI_PROGRAM_PROCESS: com.tencent.mm:appbrand1

CRITICAL_ELEMENT:
  #Android 微信
  ANDROID_PACKAGE: com.tencent.mm
  ANDROID_MAIN_ACTIVITY: com.tencent.mm.ui.LauncherUI

  #iOS 微信
  IOS_BUNDLE_ID: com.tencent.xin
  IOS_BUNDLE_NAME: 微信
  IOS_IPA_NAME: wechat

查看支持的参数

java -jar UICrawler.jar -h

    -a  Android package's main activity
    -b  iOS bundle id
    -c  Maximum click count
    -d  Maximum crawler UI depth
    -e  Record performance data
    -f  Yaml config  file
    -h  Print this usage information
    -i  Ignore crash
    -l  Execution loop count
    -m  Run monkey
    -p  Android package name
    -r  Crawler running time
    -t  Appium port
    -u  Device serial
    -v  Version
    -w  WDA port for ios
    -x  Write data to influxDB

一些常用命令

查看设备udid
Android:
  adb devices
iOS:
  instruments -s  devices
  idevice_id -l

Android 查看apk 和 Main activity
  ./aapt dump badging "apk"  | grep launchable-activity
  aapt 通常在android sdk的 build-tools目录下
  windows中将grep换成findstr
  "apk"是apk文件路径

配置文件主要可配置项

注意事项

测试报告


↙↙↙阅读原文可查看相关链接,并与作者交流