当前位置: 首页 > 软件库 > 应用工具 > 网络爬虫 >

AppCrawler

基于 Appium 的 App 自动遍历工具
授权协议 Apache-2.0
开发语言 Scala
所属分类 应用工具、 网络爬虫
软件类型 开源软件
地区 国产
投 递 者 宇文鸿畴
操作系统 Android
开源组织
适用人群 未知
 软件概览

AppCrawler 是一个基于自动遍历的 App 爬虫工具。支持 Android 和 iOS,支持真机和模拟器。最大的特点是灵活性,可通过配置来设定遍历的规则。

为什么做这个工具

  • 各大云市场上自动遍历功能都多有限制,企业无法自由定制。
  • 解决 monkey 等工具可控性差的缺点
  • 发现深层次的 UI 兼容性问题
  • 通过新老版本的 diff 可以发现每个版本的 UI 变动范围

设计目标

  • 自动爬取加上规则引导
  • 支持定制化, 可以自己设定遍历深度
  • 支持插件化, 允许别人改造和增强
  • 支持滑动等更多动作
  • 支持自动截获接口请求
  • 支持新老版本的界面对比(开发中)
  • 云端兼容性测试服务利用, 支持 Testin MQC MTC(开发中)

安装依赖

mac 下安装 appium

#安装node和依赖
brew install node
brew install ideviceinstaller
brew install libimobiledevice
#安装appium
npm install -g appium
#检查appium环境正确性
appium-doctor

真机或者模拟器均可. 确保 adb devices 可以看到就行

启动 appium

使用此工具需要一定的 appium 基础知识,目前已经在 appium 1.5.3 下做过测试

启动 appium

appium --session-override

下载 appcrawler

最新版本下载地址: https://pan.baidu.com/s/1dE0JDCH

运行

工具以 jar 包方式发布,需要 java8 以上的运行环境

java -jar appcrawler.jar

快速遍历

#查看帮助文档
java -jar appcrawler.jar
#运行测试
java -jar appcrawler.jar -a xueqiu.apk

配置文件运行方式

#配置文件的方式运行
#Android测试
java -jar appcrawler.jar -c conf/xueqiu.yaml -a xueqiu.apk
#iOS测试
java -jar appcrawler.jar -c conf/xueqiu.yaml -a xueqiu.app

输出结果

默认在当前目录下会生成一个包含输出结果的目录, 以时间命名. 包含了如下的测试结果

  • 所有遍历过的控件组成的思维导图
  • 包含了遍历覆盖的 html 报告
  • 用于做 diff 分析的数据文件
  • 背景 大家知道Monkey是Android平台上进行压力稳定性测试的工具,通过Monkey可以模拟用户触摸屏幕、滑动、按键等伪随机用户事件来对设备上的程序进行压力测试。而原生的Android Monkey存在一些缺陷: 事件太过于随机,测试有效性大打折扣 由于Monkey主要发送一些随机事件来进行测试,测试过程中的事件操作不受控制,大部分操作是无效的(比如点击的是空白区域、在不能滑动的页面进行滑动

  • 1)环境要求 appcrawler 2.5 java8 appium 1.8.x 网盘下载地址 https://pan.baidu.com/s/1dE0JDCH 2)安装方法 直接下载(本身是一个jar包,环境配置好即可)或从源代码编译 3)查看帮助文档 java -jar appcrawler-2.4.0-jar-with-dependencies.jar 4)快速启动 启动appium 启动

  • 图片 本文为霍格沃兹测试学院学院学员课程学习笔记,系统学习交流文末加群。 AppCrawler 是由霍格沃兹测试学院校长思寒开源的一个项目,通过名字我们大概也能猜出个方向,Crawler 是爬虫的意思,App 的爬虫,遍历 App : 官方 GitHub 上对这款工具的解释是: 一个基于自动遍历的 App 爬虫工具。支持 Android 和 iOS,支持真机和模拟器。最大的特点是灵活性,可通过配置

  • AppCrawle是自动遍历的app爬虫工具,最大的特点是灵活性,实现:对整个APP的所有可点击元素进行遍历点击。 优点: 1.支持android和iOS, 支持真机和模拟器 2.可通过配置来设定遍历的规则(比如设置黑名单和白名单,提高遍历的覆盖率) 3. 其本身的遍历深度覆盖较全,比如它拥有APP的dom树,根据每个activity下的可点击元素逐个点击,比monkey更具有规律性,覆盖更全面

 相关资料
  • 我试图编写一个Prolog谓词,为给定的遍历提供一个可能的二叉搜索树。我选择将树表示为,叶子就是,当子树不存在时,它的值是。 这是我到目前为止所做的(仅适用于本例中的后序遍历): 这在一个方面很好,但在另一个方面却很好: 我意识到不需要二叉搜索树,也就是说,不需要左子树中的所有节点都小于根节点,右子树中的所有节点都大于根节点,所以我还写了以下内容: 我想我可以做使Prolog只返回实际的二进制搜索

  • 因此,我一直在努力通过selenium找到一种动态方法,即遍历一个表并从该表中收集特定值,以创建从远程服务到本地数据标签的映射。下面是我试图迭代的代码,这些长度可能会改变: 我确信有一种方法可以在表中进行迭代,以动态的方式收集值,这样应该只需要: 字符串fee**“x”**=driver.findElement(by.xpath(“//tr//input[@id='feed']”)).getAtt

  • 我试图推出iOS应用程序,这是开发和建立在Xcode版本7.3.1(7D1014)使用Appium自动化工具。为了启动ios应用程序,我在IOS模拟器上安装了苹果公司的根证书,方法是在模拟器上拖放证书文件。我能够手动启动应用程序,但使用appium自动化工具启动应用程序时出现问题。IOS应用程序启动时失败,我得到"nsurlerrordomer1012 iphone"。下面我附上了简单的代码来设置

  • 本文向大家介绍基于Java实现的图的广度优先遍历算法,包括了基于Java实现的图的广度优先遍历算法的使用技巧和注意事项,需要的朋友参考一下 本文以实例形式讲述了基于Java的图的广度优先遍历算法实现方法,具体方法如下: 用邻接矩阵存储图方法: 1.确定图的顶点个数和边的个数 2.输入顶点信息存储在一维数组vertex中 3.初始化邻接矩阵; 4.依次输入每条边存储在邻接矩阵arc中 输入边依附的两

  • 本文向大家介绍招聘网站基于jQuery实现自动刷新简历,包括了招聘网站基于jQuery实现自动刷新简历的使用技巧和注意事项,需要的朋友参考一下 将代码中res_id_encode参数的值,如5830549229E3096684665改成自己猎聘账户相关的ID即可。如何查看自己的ID,只要打开F12,点一下猎聘网个人中心的刷新简历,在network里面就能看到类似代码中的get请求了,把该请求的参数

  • 概述 安装和使用 安装 node >= 8.10.0 npm install -g loopback-cli apiconnect 使用 apic loopback npm install --save loopback-component-explorer cd <project> PORT=9001 apic edit 在目录server下面增加文件component-config.jso