专栏首页dongfangerAndroid测试三件套:传文件、抓包、看日志

Android测试三件套:传文件、抓包、看日志

在对安卓进行测试时,我们需要把 apk 传到安卓机上,对请求抓包,同时监控应用日志。本文就来讲讲具体操作。

安卓机是指基于安卓的机器 ,如手机、POS 机、电视盒子等。

传文件

我们拒绝用 U 盘传文件。直接用 WIFI 传。别问,问就是想装逼。哈哈哈。

① 先把装逼神器 adb 下载下来,打开以下网址:

https://adb.clockworkmod.com/

下载后得到 UniversalAdbDriverSetup.msi 文件,只有 16.2 M,相比有些人让安装 Android Studio,轻巧了太多。

② 安装之后打开 cmd,输入 adb

出现如图所示就算安装成功了。

③ 接着继续装逼,把安卓机掏出来,打开设置 | 系统 | 关于手机,对着“版本号”一顿猛戳,戳到开发者模式为止,启用它(不同安卓机可能方式不同)。

④ 装,接着装。在 WIFI 设置中,找到已经和电脑处于同一网络的 WIFI,查看高级选项,获取 IP 地址。

⑤ 在电脑的 cmd 中,输入以下命令使用 adb 连接安卓机:

adb connect 192.168.x.x

出现如图所示就算连接成功了:

⑥ 好,一切就绪,开始骚操作,电脑 → 手机:

adb push D:\test.apk  /storage/emulated/0/

电脑 ← 手机:

adb pull /storage/emulated/0/test.apk D:\

抓包

抓包用到的工具是 Charles。下载地址:

https://www.charlesproxy.com/

下载后直接安装即可。建议找下破解,不然用着会有点卡。

抓包很简单,只需要两步。第一步在电脑端启动代理。第二步在安卓机上手动设置代理。

第一步在电脑端启动代理。Charles 中打开 Proxy | Proxy Settings 启用代理,默认端口 8888:

第二步在安卓机上手动设置代理。打开安卓机 WIFI 设置,编辑网络(不同手机可能方式不同),添加手动代理,填写电脑 IP 和 Charles 代理端口

保存后 Charles 会提示有连接请求:

允许即可。

看日志

电脑端 cmd 一行命令搞定:

adb logcat

不过这样打出来的日志会比较多。可以做下过滤。

Windows:

adb logcat | find "some"

Linux:

adb locat | grep "some"

抓不到包的问题

有可能会抓不到包。不同机器原因各有不同。这里我不能给出完美的解决办法。只能分享下我的经验。如果无法解决,还是找下百度。

一种可能就是 HTTPS 证书问题,在 Help | SSL Proxying 有对应功能:

有些时候电脑端安装完证书就可以了,有些时候还需要在安卓机上下载证书:

http://charlesproxy.com/getssl

有一次我访问这个链接无响应,重启 Charles 又可以了下载了。

还有一种可能是没有添加白名单,Proxy | SSL Proxying setttings:

简要回顾

本文介绍了安卓机测试环境的准备,用到了 adb、Charles 软件,进行传文件、抓包、看日志。操作还是比较简单,不过实际过程中,可能会由于机器不同导致遇到奇奇怪怪的问题。通过百度,一般是能够解决的。最后温馨提示,如果第二天安卓机提示无法连接网络,那么看看是不是电脑的 Charles 关掉了。哈哈哈。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Unexpected EOF 远程主机强迫关闭了一个现有的连接 如何处理

    尝试百度了不少方法,如time.sleep(1),response.close(),socket.setdefaulttimeout(20)。

    dongfanger
  • 揭开DRF序列化技术的神秘面纱

    在RESTful API中,接口返回的是JSON,JSON的内容对应的是数据库中的数据,DRF是通过序列化(Serialization)的技术,把数据模型转换为...

    dongfanger
  • 博客园上传markdown文件

    工具地址:https://github.com/dongfanger/pycnblog

    dongfanger
  • screen 简单使用

          系统管理员经常需要SSH 或者telent 远程登录到Linux 服务器,经常运行一些需要很长时间才能完成的任务,比如系统备份、ftp 传输等等。通...

    BGBiao
  • 学习KNN(一) 图像分类与KNN原理

    学习KNN(一) 图像分类与KNN原理 学习KNN(二)KNN算法手写数字识别的OpenCV实现 学习KNN(三)KNN+HOG实现手写数字识别 简介...

    chaibubble
  • guake 3.4发布,支持切分窗口

    近日发布了3.4版本,在3.4版本中支持了切分窗口功能。如图所示,还是比较实用的一个功能。

    zqb_all
  • YII框架模块化处理操作示例

    添加子模块后,在父模块添加管理入口配置,实现父模块管理子模块功能,如果父模块出现bug,子模块将无法继续使用

    砸漏
  • CSS心得宝典

    初学者必备 Html属性不能重复使用,但css的属性是后写的替换先写的 子级标签属性会继承父级标签属性 子级标签属性与父级冲突,子级优先 布局级别就是排队级别...

    用户1730674
  • Python+Appium运行简单的demo,你需要理解Appium运行原理!

    通过 Http 通信,没有改变浏览器访问系统的属性,只要访问就可以了。Appium 做自动化也是如此。

    清菡
  • Python+Appium运行简单的demo,你需要理解Appium运行原理!

    通过 Http 通信,没有改变浏览器访问系统的属性,只要访问就可以了。 Appium 做自动化也是如此。

    清菡

扫码关注云+社区

领取腾讯云代金券