原生方式开发的app,使用Java和C++开发,加密用的是Java和C++
H5的app,使用Webview控件加载网页,加密用的是JS
app自动化测试,需要知道控件的id,或者说需要定位到控件

1. 使用uiautomatorviewer.bat查看

Android SDK根目录\tools\bin 下 有uiautomatorviewer.bat 双击打开
image.png
此时会弹出这个dos黑框窗口,和控件窗口。点击箭头所指按钮,会生成截屏。
image.png
鼠标移动到左边的截图区域 ,即可看到对应元素的信息,类似浏览器的elemens页面
image.png

  1. 使用Appium查看
    a) 下载

    https://github.com/appium/app...

b)安装
默认安装即可

打开后界面如下,并打开Edit Configurations 进行配置设置。
image.png
c) Appium的配置
安装Java SDK 建议将SDK的根目录加入到自定义 系统环境变量 ANDROID_HOME 。
image.png
配置android SDK

d) Appium的启动
配置好后再启动页面,点击Start Server.
点击搜索按钮
image.png
在新的窗口中点击编辑配置。 尽管只是配置了手机中设置栏目,但其实操作手机后,可以截屏任意一个app,进行分析。并不需要针对每个app每次都设置。
image.png
配置好后点击 Start Session .效果等同于SDK自带的。
image.png
image.png

  1. 禁止截屏
    在activity中输入如下,可用于禁止截屏。
    activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_SECURE);
    此时, 使用uiautomatorviewer.bat 会提示如下,用appnium 无法截屏。
    image.png

用这个是用于清除禁止截屏命令的。在禁止截屏生效才再调用,因此,需要把握好时机。最好的办法是hook。
activity.getWindow().clearFlags(WindowManager.LayoutParams.FLAG_SECURE);


永乐
23 声望7 粉丝

目前文章属于笔记类型,暂未整理。 后期会系统化整理。