# AppiumClawer **Repository Path**: jackytallow/appium-clawer ## Basic Information - **Project Name**: AppiumClawer - **Description**: 利用appium做的有一定算法规则的遍历工具,类似app monkey,用来做app稳定性测试 - **Primary Language**: Java - **License**: MulanPSL-1.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2020-11-20 - **Last Updated**: 2022-03-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AppiumClawer #### 介绍 利用appium做的有一定算法规则的遍历工具,类似app monkey,用来做app稳定性测试 #### 工具说明 首先通过配置文件引导app登陆到"首根页"面,然后解析出当前页面元素,获取每个元素的属性(id,text,class等等),并准确计算出各个元素的xpath值,生成ElementNode对象加入到Queue里面,这边我用的是广度优先的算法,根据先进先出的原则挨个遍历元素,当对元素进行完action操纵之后,首先判断是否跳页,然后判断该页面是否之前进来过(否则不会解析当前页面各个元素,并将其push到queue当中去,防止重复push),依次类推,如果当前元素不属于该页面,则会首先回退到首根页,然后往上追溯再计算出该元素的所有父节点,并加入到stack中,根据stack后进先出的特点,计算出从首根页进入到该元素时需要点击元素的轨迹。 - 使用到数据结构:栈,队列queue - 只需要应用包名和相关id,就可以做以上操作 #### 教程 TODO 1. xxxx 2. xxxx 3. xxxx #### 使用说明 TODO 1. xxxx 2. xxxx 3. xxxx #### 参与贡献 1. Fork 本仓库 2. 新建 Feat_xxx 分支 3. 提交代码 4. 新建 Pull Request #### 特技 1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md 2. Gitee 官方博客 [blog.gitee.com](https://blog.gitee.com) 3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解 Gitee 上的优秀开源项目 4. [GVP](https://gitee.com/gvp) 全称是 Gitee 最有价值开源项目,是综合评定出的优秀开源项目 5. Gitee 官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) 6. Gitee 封面人物是一档用来展示 Gitee 会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)