GithubHelp home page GithubHelp logo

hhy5277 / appcrawler Goto Github PK

View Code? Open in Web Editor NEW

This project forked from seveniruby/appcrawler

0.0 1.0 0.0 63.16 MB

基于appium的app自动遍历工具

Home Page: https://testerhome.com/topics/node83

Scala 99.05% Java 0.95%

appcrawler's Introduction

AppCrawler

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

为什么做这个工具

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

设计目标

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

安装依赖

mac下安装appium

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

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

启动appium

使用此工具需要一定的appium基础知识, 请自行google.
目前已经在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分析的数据文件

示例

更多技术交流

移动测试技术交流社区: https://testerhome.com

QQ技术交流群: 177933995

更多细节

appcrawler's People

Contributors

doctorq avatar seveniruby avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.