AppCrawler是什么

你可以把它想成类似monkey一样的工具,调起你的应用程序并执行各种动作(点击,输入,滑动等)来通过这种方式

来查看各种情况下应用程序的状态

官方文档链接:AppCrawler官方文档

如何使用AppCrawler

1.确保自己有最新版本的androidSDK,通过androidStudio来完成androidSDK的下载

androidStudio下载

2.下载AppCrawler AppCrawler下载

3.确认仿真机或者物理设备在线,adb devices

4.解压缩你下载的app-crawler,进入文件夹运行

java -jar crawl_launcher.jar --apk-file apkPath --android-sdk androidSDK path

5.参数介绍:

参数 描述
--android-sdk path 指定AndroidSDK的路径 必要的参数
--apk-file file

指定应用apk的路径 然后安装

和--apk-package-name为或的关系 一定要指定一个

--app-package-name name

指定package name 当你的程序已经安装且不需要重新安装就填写这个参数

和--apk-package-name为或的关系 一定要指定一个

--key-store path

指定应用程序进行签名的密钥库的路径

当你的应用程序需要签名才成正常运行时候添加这项

--key-store-password password

提供密码库的密码

与--key-store为并的关系 两个要有就都有

--timeout-sec timeout

指定你执行的时间

注:1.默认60s

2.s为单位

6.摸索后(坑)的附加参数

上面配置好参数运行发现测试机纹丝不动,再一看log日志平静如水,命令行也看不出什么端倪,这时候另一个灵魂参数就要上场了

参数 描述
--ui-automator-mode 这个参数是保证不会重新打包appcrawler apk而加速启动

讲到这里其实机智的同学已经发现了另一个问题,因为我们前面通过adb devices来判断判断仿真机或物理机是否在线,那么如果我有多台设备同时链接,

又该如何制定对应的机器来启动app-crawler呢

参数 描述
--device-serial-code 指定对应devideNumber的机器来运行app-crawler

最后

运行结束后

日志和截图输出的路径和是否发现crash问题,这就不用一一解释了,一目了然。初次接触大概就收获这么多

详细探究https://www.cnblogs.com/newliu/p/11678183.html

Google AppCrawler初探的更多相关文章

  1. Android BLE与终端通信(五)——Google API BLE4.0低功耗蓝牙文档解读之案例初探

    Android BLE与终端通信(五)--Google API BLE4.0低功耗蓝牙文档解读之案例初探 算下来很久没有写BLE的博文了,上家的技术都快忘记了,所以赶紧读了一遍Google的API顺便 ...

  2. Baidu与Google地图API初探

    前天周六,有个好友过来玩,他说想在他的站点中加入地图导航模块,但不知道选择哪个第三方Map API 在网上查了下Baidu.Google.QQ和MapBar等4种Map API(都是採用JS开放API ...

  3. 初探Google Guava

    Guava地址:https://github.com/google/guava 第一次接触我是在16年春github上,当时在找单机查缓存方法,google guava当初取名是因为JAVA的类库不好 ...

  4. 谷歌字体(Google Font)初探 [翻译自Google官方文档]

    这个指南解释了如何使用Google Font的API,把网络字体添加到自己的页面上.你不需要任何的编码,你所要做的只是添加一个特定的CSS到HTML页面上,然后把字体关联到这个CSS样式. 一个快速的 ...

  5. Google 开源的 Python 命令行库:初探 fire

    作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  6. Unity3D游戏开发初探—1.跨平台的游戏引擎让.NET程序员新生

    一.Unity3D平台简介 Unity是由Unity Technologies开发的一个让轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的 ...

  7. 初探nodeJS

    一.node概要 对nodeJS早有耳闻,但是一直迟迟没有对它下手,哈哈哈,今儿咱就来初探一下它. nodeJS是个啥东东? nodeJS,我的理解就是可以运行在后端的JavaScript. 为什么它 ...

  8. AJAX初探,XMLHttpRequest介绍

    AJAX初探,XMLHttpRequest介绍 AJAX      AJAX = Asynchronous JavaScript and XML. 异步的JavaScript和XML.      AJ ...

  9. 进击的Python【第一章】:Python背景初探与Python基础(一)

    Python背景初探 一.Python起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做 ...

随机推荐

  1. from 表单用 GET 方法进行 URL 传值时后台无法获取问题

    问题描述 <a href="${pageContext.request.contextPath}/client?method=add">点我</a> < ...

  2. Java基础之Iterable与Iterator

    Java基础之Iterable与Iterator 一.前言: Iterable :故名思议,实现了这个接口的集合对象支持迭代,是可迭代的.able结尾的表示 能...样,可以做.... Iterato ...

  3. 在Azure云上实现postgres主备切换

    以下是工作上实现postgres主备切换功能所用到的代码和步骤,中间走了不少弯路,在此记录下.所用到的操作系统为centos 7.5,安装了两台服务器,hostname为VM7的为Master,VM8 ...

  4. 【转载】Windows api数据类型

    最近在接触windows api函数,看到了很多之前没有看到过的数据类型,发现“个人图书馆”中有个帖子说的挺详细的,特地搬运过来 Windows 数据类型 Delphi 数据类型 描述 LPSTR P ...

  5. B-Quadratic equation_2019牛客暑期多校训练营(第九场)

    题意 解下列方程 \((x+y) \equiv b \ mod \ p\) \((x\ *\ y) \equiv c \ mod \ p\) 题解 \(y = b-x\) 带入二式 \(x * (b- ...

  6. STL中set和multiset小结

    (1)使用set/multiset之前必须包含头文件<set>:#include<set>    (2)namespace std{      template <cla ...

  7. 区间dp专题

    HDU4283You Are the One区间dp, 记忆话搜索运行时间:   #include <iostream> #include <cstdio> #include ...

  8. LeetCode380 常数时间插入、删除和获取随机元素

    LeetCode380 常数时间插入.删除和获取随机元素 题目要求 设计一个支持在平均 时间复杂度 O(1) 下,执行以下操作的数据结构. insert(val):当元素 val 不存在时,向集合中插 ...

  9. Mysql InnoDB引擎下 事务的隔离级别

    mysql InnoDB 引擎下事物学习 建表user CREATE TABLE `user` ( `uid` bigint(20) unsigned NOT NULL AUTO_INCREMENT, ...

  10. Object和Objects

    Object 在Java,Object类是超级父类,是所有类的父类. public boolean equals(Object obj) { return (this == obj); } publi ...