配置选项的作用可参考项目目录下的yaml格式的配置文件, 里面有详细的注释解释每个配置项的作用.
appcrawler试图用接口测试的理念来定义app遍历测试. 每个app界面认为是一个url. 默认是用当前的activity名字或者navigatorbar来表示. 这个可以通过defineUrl配置实现自定义.
控件的唯一性通过配置项的xpathAttributes来定义. 默认是通过基本属性iOS的为name label value path, Androd的为resource-id content-desc text index这几个属性来唯一定义一个元素. 可以通过修改这个配置项实现自定义.
url的定义是一门艺术, 可以决定如何优雅快速有效的遍历
整体的配置项应用顺序为
androidCapability和iosCapability分别用来存放不同的平台的设置. 最后会和capability合并为一个.
用于启动时候自定义一些划屏或者刷新的动作.
适用于在一些列表页或者tab页中精确的控制点击顺序
selectedList表示要遍历的元素特征
firstList表示优先遍历元素特征
lastList表示最后应该遍历的元素特征
tagLimit定义特定类型的控件遍历的最大次数. 比如列表项只需要遍历少数
需要注意的是firstList和lastList指定的元素必须包含在selectedList中
appcrawler大量的使用XPath来表示元素的范围. 大部分的选项都可以通过XPath来指定范围. 比如黑白名单, 遍历顺序等
在一些配置的action字段里面, 除了支持简单的dsl方法列表外, 也支持scala语句. 这意味着你可以完全定义自己的流程. 比如action可以定义为click back等方法. 也可以定位为driver.findElementBy...方法. 甚至是Thread.sleep(3000)等编程语句.