一、移动端数据抓取的背景介绍
PC端 --> 移动端 --> 大数据
移动端数据的作用?
- 数据分析
- 用户画像
- 统计系统
- 商业竞争
二、UiAutomator介绍
ua是什么?
是谷歌提供给安卓用来做自动化测试的一个Java库
ua能够做什么?
测试框架
创建一个或多个设备针对于我们的应用进行自动化性能的UI测试用例
是基于AccessibilityService实现的,后者 是android系统中的一个辅助服务 继承于Service类
引申:
Android四大组件
1 Activity
通常就是一个单独的屏幕
Activity之间通过Intent跳转传值
2 Service
服务 用于在后台完成用户指定的操作
3 content provider
内容提供者
通讯录 相册...
4 broadcast reveiver
广播 (震动 播放 闪光灯....)
UA 有一个缺点
- 写业务逻辑只能用Java这个语言来实现
- 测试脚本要打包成jar包或者apk包上传到设备上才能实现
基于这么一些缺点 u2就诞生了
U2的优势
• UI自动化编写采用Python,学习成本低
• UI控件识别有专门的工具 weditor
• 环境搭建简单 pip install uiautomator2
• UI自动化脚本运行稳定
项目地址https://github.com/openatx/uiautomator2
三、UIAutomator2的执行流程
- 在移动设备上安装atx-agent(守护进程),随后atx-agent启动ui2服务(默认7912端口)进行监听
- 在PC端来编写脚本(相当于发送HTTP请求到移动设备的server端)
- 移动设备通过wifi或usb接收到了PC上发来的HTTP请求,执行定制的操作
四、adb的简介与安装和应用重点
简介:
Adb又称Android调试桥,用于通过电脑端与模拟器或者是设备之间的交互的一个工具
adb有什么作用?
• 安装卸载apk文件
• 移动设备和PC之间拷贝文件
• 查看设备上安装的应用信息
• 文件管理
• 按键操作
adb的安装
你的电脑(pc)安装一个模拟器之后,自动就安装好了adb工具
1 要安装模拟器
2 adb的路径添加到PATH环境变量当中 C:\Program Files (x86)\Nox\bin
配置移动设备
1 安装解压文件 夜神多开器
2 点开夜神多开器 添加模拟器(注意版本4.4以上)
3 模拟器打钩 点击系统设置
3.1 选择手机版本 分辨率 3.2 显卡的渲染模式 正常 兼容模式(注意 如果打开app是黑屏 切换成极速模式) 3.3 保存配置
尝试在cmd中 adb devices 连接
若连接不成功
1 要打开开发者选项 手机设置 --》关于平板电脑 --》 版本号(点击) --》 打开开发者选项 --》 开启USB调试
2 模拟器先和老师的保持一致(夜神模拟器) 真机(不推荐用华为,安全性做的很好)
豌豆荚 (电脑上下载apk文件)
adb基本命令:
安装应用 adb install C:\Users\19214\Desktop\106_2a65b5b89a76f0f1e28b51fe6461f077.apk
卸载应用 得需要包名 com.tal.kaoyan
获得包名 adb shell pm list packages 或aapt dump badging C:\Users\19214\Desktop\106_2a65b5b89a76f0f1e28b51fe6461f077.apk
adb uninstall com.tal.kaoyan
五、u2的快速入门(先初始化,后连接)
先初始化u2:python -m uiautomator2 init(pycharm中的终端),》在模拟器中出现ATX(app)
'''
1 通过wifi 手机ip 172.17.100.15
2 通过usb(以这种连接方式为主)手机设备 127.0.0.1:62025
'''
连接u2
d = u2.connect_wifi('192.168.100.43')
d = u2.connect_usb('127.0.0.1:62001')
安装与卸载应用 #data: can be file path or url or file object
d.app_install(data=r'C:\Users\19214\Desktop\106_2a65b5b89a76f0f1e28b51fe6461f077.apk')或
d.app_install(data='https://ip218338852.out.azhimalayanvh.com/fs08/2021/06/25/1/123_1f648cfc553a1f834885d9c654ad4e1c.apk?yingid=wdj_web&fname=%E8%80%83%E7%A0%94%E5%B8%AE&productid=2011&pos=wdj_web%2Fdetail_normal_dl%2F0&appid=2592423&packageid=800998790&apprd=2592423&iconUrl=http%3A%2F%2Fandroid-artworks.25pp.com%2Ffs08%2F2021%2F06%2F25%2F7%2F123_3a0ecc31d24701964004e1d08a86fbe6_con.png&pkg=com.tal.kaoyan&did=8c9cb34022d01c8101be130c85d3b70a&vcode=144&md5=56d9af2bc93ae4040e5de8dda841523c&ali_redirect_domain=alissl.ucdl.pp.uc.cn&ali_redirect_ex_ftag=adfeebb5e4de89297486b7513445fef436e75ee1731e9cd2&ali_redirect_ex_tmining_ts=1625971004&ali_redirect_ex_tmining_expire=3600&ali_redirect_ex_hot=100')
d.app_uninstall('com.tal.kaoyan')