- 截图数量控制
- 黑名单、白名单
- 限制遍历深度、次数、时间
- 遍历界面元素的xpath
- 自动登录的用户名和密码及相应的UI元素ID
- 待输入文本列表及待输入的控件类型
- Monkey触发事件类型及比率
SCREENSHOT_COUNT : 截屏数量
ENABLE_SCREEN_SHOT: 是否生成截图
- true 元素点击时生成截图
- false 元素点击时不生成截图,可以提高运行速度
MAX_DEPTH : 遍历深度
MAX_CLICK_COUNT : 点击次数
APPIUM_SERVER_IP : Appium Server地址
- 通常情况下不需要修改,除非Appium server和手机不在同一台电脑上,需把该值改为Appium Server所在电脑的IP
DEFAULT_WAIT_SEC: 查找元素的最长时间限制
DEFAULT_POLLING_INTERVAL_SEC: 查找元素的时间间隔
PORT: Appium Server Port
IOS_WDA_PORT: WDA Port(iOS)
IGNORE_CRASH :忽略Crash
- true 遇到crash会重启App继续遍历
- false 遇到crash停止遍历
Android APK包名和主Activity
- ANDROID_PACKAGE: com.xxxx.yyyy
- ANDROID_MAIN_ACTIVITY: com.xxx.yyy.StartActivity
IOS_BUNDLE_ID: iOS的bundle id com.xxxx.yyy
IOS_BUNDLE_NAME: 手机屏幕上显示的app的名字 如下图: 其值为:学而思test
IOS_IPA_NAME: ips文件名前缀
- 这个很关键用于判断iOS app是否crash了
- 可以通过idevicecrashreport ./ 查看ips文件名前缀. 如:AlipayWallet-2018-04-23-125441.ips 其IOS_IPA_NAME值为AlipayWallet
MONKEY_RUNNING_TIME: 180 运行时间,以分钟计
- 以下各项值总和需为100
- SWIPE_RATIO: 10 滑动事件百分比
- CLICK_RATIO: 80 点击事件百分比
- CLICK_SPECIAL_POINT_RATIO: 8 点击MONKEY_SPECIAL_POINT_LIST中坐标事件百分比。 主要用于触发"返回"功能。
- RESTART_APP_RATIO: 1 重启APP事件百分比
- HOME_KEY_RATIO: 1 按Home键事件百分比(只支持安卓)
- LONG_PRESS_RATIO: 8 特殊坐标长按(10秒)
- LONG_PRESS_LIST: 根据以下坐标长按10秒
'980,560'
'100,120' - MONKEY_SPECIAL_POINT_LIST: 提高测试效率,点击以下点(x,y)时会触发"后退"操作,避免在一个页面停留时间太久
'80,160'
'50,50'
UI底部TabBar
- ANDROID_BOTTOM_TAB_BAR_ID: com.xxx.yy:id/bottomBar
- IOS_BOTTOM_TAB_BAR_TYPE: XCUIElementTypeTabBar
- 当app中有tab bar时需要配置此项,配置后会先遍历tab bar以外的元素,最后再遍历tab bar
查找需要点击的元素的关键XPATH内容
- ANDROID_CLICK_XPATH_HEADER: '@clickable="true" and string-length(@text)<30'
- IOS_CLICK_XPATH_HEADER: '@visible="true" and string-length(@value)<30'
- 注意属性值要加引号''',通常用默认值即可
-
支持两种操作,一种是input 一种是click
-
目前只支持通过用户和密码登录的app
-
ANDROID_USERNAME: 查找输入用户名控件所需要的信息
- XPATH: '//*[@resource-id="com.xes.jazhanghui.activity:id/xes_login_username"]'
- ACTION: input
- VALUE: '123456'
-
ANDROID_PASSWORD: 查找输入密码控件所需要的信息
- XPATH: '//*[@resource-id="com.xes.jazhanghui.activity:id/xes_login_password"]'
- ACTION: input
- VALUE: '123456'
-
ANDROID_LOGIN_BUTTON: 查找登录按钮所需要的信息
- XPATH: '//*[@resource-id="com.xes.jazhanghui.activity:id/xes_login_button"]'
- ACTION: click
-
IOS_USERNAME:
- XPATH: '//*[@type="XCUIElementTypeTextField"]'
- ACTION: input
- VALUE: '1234568789'
-
IOS_PASSWORD:
- XPATH: '//*[@type="XCUIElementTypeSecureTextField" and @value="请输入登录密码"]'
- ACTION: input
- VALUE: '123456'
-
IOS_LOGIN_BUTTON:
- XPATH: '//*[@type="XCUIElementTypeButton" and @name="登录" and @label="登录"]'
- ACTION: click
PRESS_BACK_KEY_PACKAGE_LIST: 当跳到转以下app时,触发back键
- 高德地图
- com.autonavi.minimap
ANDROID_VALID_PACKAGE_LIST: 当app跳转到以下app时被认为是合法,会继续遍历操作
- com.miui.securitycenter
- com.android.server.telecom
- com.lbe.security.miui
- gallery
- packageinstaller
IOS_VALID_BUNDLE_LIST: 当app跳转到以下app时被认为是合法,会继续遍历操作
- 照片
ITEM_WHITE_LIST: 白名单
- 确定
- 允许
- 退出
ITEM_BLACKLIST: 不点击包含以下文本的控件
- 客服
- 电话
- 不允许
- 拒绝
- 拍照
- 禁止
- 呼叫
IOS_EXCLUDE_BAR: 以下类型的元素及子元素不会被点击
- XCUIElementTypeStatusBar (手机状态栏)
- XCUIElementTypeKeyboard (键盘)
IOS_EXCLUDE_TYPE: iOS不点击以下类型的元素
- XCUIElementTypeOther
- XCUIElementTypeKey
- XCUIElementTypeWindow
ANDROID_EXCLUDE_TYPE:android中不点击以下类型的元素
- android.widget.FrameLayout
NODE_NAME_EXCLUDE_LIST:
- selected
- instance
- checked
- naf
- content
STRUCTURE_NODE_NAME_EXCLUDE_LIST:
- value
- label
- name
- text