Google AppCrawler初探
AppCrawler是什么
你可以把它想成类似monkey一样的工具,调起你的应用程序并执行各种动作(点击,输入,滑动等)来通过这种方式
来查看各种情况下应用程序的状态
官方文档链接:AppCrawler官方文档
如何使用AppCrawler
1.确保自己有最新版本的androidSDK,通过androidStudio来完成androidSDK的下载
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初探的更多相关文章
- Android BLE与终端通信(五)——Google API BLE4.0低功耗蓝牙文档解读之案例初探
Android BLE与终端通信(五)--Google API BLE4.0低功耗蓝牙文档解读之案例初探 算下来很久没有写BLE的博文了,上家的技术都快忘记了,所以赶紧读了一遍Google的API顺便 ...
- Baidu与Google地图API初探
前天周六,有个好友过来玩,他说想在他的站点中加入地图导航模块,但不知道选择哪个第三方Map API 在网上查了下Baidu.Google.QQ和MapBar等4种Map API(都是採用JS开放API ...
- 初探Google Guava
Guava地址:https://github.com/google/guava 第一次接触我是在16年春github上,当时在找单机查缓存方法,google guava当初取名是因为JAVA的类库不好 ...
- 谷歌字体(Google Font)初探 [翻译自Google官方文档]
这个指南解释了如何使用Google Font的API,把网络字体添加到自己的页面上.你不需要任何的编码,你所要做的只是添加一个特定的CSS到HTML页面上,然后把字体关联到这个CSS样式. 一个快速的 ...
- Google 开源的 Python 命令行库:初探 fire
作者:HelloGitHub-Prodesire HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...
- Unity3D游戏开发初探—1.跨平台的游戏引擎让.NET程序员新生
一.Unity3D平台简介 Unity是由Unity Technologies开发的一个让轻松创建诸如三维视频游戏.建筑可视化.实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的 ...
- 初探nodeJS
一.node概要 对nodeJS早有耳闻,但是一直迟迟没有对它下手,哈哈哈,今儿咱就来初探一下它. nodeJS是个啥东东? nodeJS,我的理解就是可以运行在后端的JavaScript. 为什么它 ...
- AJAX初探,XMLHttpRequest介绍
AJAX初探,XMLHttpRequest介绍 AJAX AJAX = Asynchronous JavaScript and XML. 异步的JavaScript和XML. AJ ...
- 进击的Python【第一章】:Python背景初探与Python基础(一)
Python背景初探 一.Python起源 Python的创始人为Guido van Rossum.1989年圣诞节期间,在阿姆斯特丹,Guido为了打发圣诞节的无趣,决心开发一个新的脚本解释程序,做 ...
随机推荐
- 使用SpringSecurity保护程序安全
首先,引入依赖: <dependency> <groupId>org.springframework.boot</groupId> <artifactId&g ...
- 利用Spring Boot+zxing,生成二维码还能这么简单
在网站开发中,经常会遇到要生成二维码的情况,比如要使用微信支付.网页登录等,本文分享一个Spring Boot生成二维码的例子,这里用到了google的zxing工具类. 本文目录 一.二维码简介二. ...
- vue路由菜单权限设置就button权限设置
路由权限的设计思路: 首先,我们的需要校验权限的路由的 url,全部由后端返回,后端会返回当前用户的路由树数组.前端在进入页面前请求接口,把数据拿到: 其次,前端会维护一个路由映射组件的列表,如果路由 ...
- CF922A Cloning Toys
A. Cloning Toys time limit per test 1 second memory limit per test 256 megabytes input standard inpu ...
- essential C++中的一些疑问记录
关于书中P87下列代码中,less<int>的使用,我目前的理解是 less<int> 是一个类型,& it 是对外部参数的引用.但是为何要加上引用,另外 调用该函数时 ...
- Python---变量和简单的数据类型
我会站在一个c/c++的基础上去看python的学习,尽量会在文中比较两者的区别,有什么说的不对的地方,欢迎指出,大家共同学习(o_o).(此后的文章都会基于python3以上版本去写) 1.变量 变 ...
- 04 python之函数详解
一.函数初识 函数的产生:函数就是封装一个功能的代码片段. li = ['spring', 'summer', 'autumn', 'winter'] def function(): count = ...
- SQLi_LABS less5: GET-Double Injection - Single Quotes - String
目录 前言 几种可能的注入方式 补充的相关知识点 前言 最近开始用SQLi_LABS学习注入,刚开始有点摸不到头脑,索性把看到的知识点记录下来,很多细节是看别人博客学的,就直接给链接了,在此向这些作者 ...
- 使用 jupyter-notebook + python + matplotlib 进行数据可视化
上次用 python 脚本中定期查询数据库,监视订单变化,将时间与处理完成订单的数量进行输入写入日志,虽然省掉了人为定时查看数据库并记录的操作,但是数据不进行分析只是数据,要让数据活起来! 为了方便看 ...
- java架构师视频教程 内含activemq+jvm+netty+dubbo
目录: 架构师视频教程包含activemq jvm netty dubbo 0分布式项目实战所有视频(分布式项目视频)互联网架构师第二期-视频部分互联网架构师第二期-资料部分1.Netty快速入门教程 ...