1:移动端的前导知识
1.1:移动端数据爬取数据的背景介绍
- PC端 --> 移动端 --> 大数据 --> 人工智能
1.2:移动端数据的作用
- 1:用于数据分析
- 2:用于用户画像:也就是根据用户的需求来推送更加具有针对性的数据,给该客户
- 3:用于统计系统
- 4:商业竞争
1.3:课外拓展
2:Uiautomator介绍
2.1:ua是什么
- 是谷歌用来提供给安卓用来做自动化测试的一个java库,类似用PC端中的selenium,所以说ua是一个用于移动端自动化的一个Java库
2.2:Uiautomator能够做什么
- 1:ua:是一个测试框架
- 2:创建一个或多个设备针对我们的应用进行自动化性能的UI测试用例(UI:用户界面)
2.3:AccessibilityService
- AccessibilityService服务是安卓系统中的一个辅助服务,继承于Service类,可以对手机中的第三方app进行测试
3:安卓系统中的四大组件
- 这四大组件分别为
- 1:Activity --> 管理屏幕
- 2:Service --> 操作后台的应用程序
- 3:content provider --> 内容的提供者
- 4:broadcast reveiver --> 广播
3.1:Activity
- 是一个单独的一个屏幕,Activity的值通过intent跳转,来实现不同的屏幕变换
3.2:Service
3.3:content provider
- 是一个内容提供者,通过提供的内容跟来实现操作数据的目的
3.4:broadcast reveiver
- 是一个广播的服务,比如手机的震动、播放、闪光灯等等
4:UA的介绍
4.1:UA的一个缺点
- 写业务的逻辑只能通过Java这个编程语言来开发,来实现
- jar包和apk文件上传到移动设备才可以实现我们想要的要求
- jar包:想当于python中的一个个模块
- apk文件:在第三方下载的APP文件都是一个apk文件
4.2:U2的诞生
- U2是一个python中的一个模块
- 基于人们想在python中编写python的代码,U2就诞生了
- 所以说U2可以说是UA的升级版本
- U2可以在PC中执行移动端
4.3:学习U2的好处
- 降低了学习的成本
- 环境搭建简单 —— pip install uiautomator2
- 专门的控件识别工具 — weditor
5:adb介绍
- adb是一个模拟工具
- 当一个电脑(PC)安装完一个模拟器的时候就安装好了一个adb工具
5.1:U2的安装
- 在电脑的运行终端执行代码:
pip install uiautomator2
5.2:模拟器的安装
- 需要在网上找一个模拟器,安装到电脑上
- 注意:要把adb的路径添加到path环境变量中去
5.3:AP安装中出现的文件
- 安卓调试桥:android
- 命令行:adb client,用来执行adb命令,可以在命令行中书写代码
- PC的后台程序:adb server,是一个在PC中的一个后台程序
- adbd:是作为一个后台进程,在移动设备中进行的
6:U2的运行流程
1:初始化U2
2:连接wifi,USB
PC
移动端
- 在连接到移动端之后在移动端中会出现四个文件分别管理移动端的屏幕显示、连接被人的sdk和守护进程
7:在命令行中操作模拟器
- 需要注意的是,一定要把adb的路径配置到环境变量中去
安装应用
- 要求:
- 1:需要有一个apk的一个文件,这个apk的文件就是一个安卓系统中的一个软件
- 2:需要知道这个apk文件的路径所在
- 安装的步骤
adb install C:\Users\19214\Desktop\106_2a65b5b89a76f0f1e28b51fe6461f077.apk
- 注意:当中的“C:\Users\19214\Desktop\106_2a65b5b89a76f0f1e28b51fe6461f077.apk”为文件的路径,所以说要知道文件的路径
卸载应用
- 要求:
- 获得包名的方法
- 1:使用代码
adb shell pm list packages 来找包名,但是这个方法不容易找到 - 2:使用代码
D:\YsReason\App\106_2a65b5b89a76f0f1e28b51fe6461f077.apk 来获取一个apk文件的详细数据其中就包括这个软件的包名 - 卸载的方法
- 输入代码
adb uninstall com.tal.kaoyan 即可卸载这个软件 - 注意:“ com.tal.kaoyan”是这个软件的包名
8:U2的快速入门
8.1:初始化U2
- 代码
python -m uiautomator2 init - 需要在命令行中执行这个命令,在pycharm中的Terminal中也可以初始化
8.2:连接U2
- 可以通过WiFi来来连接,也可以使用USB来来连接
通过WIFI来连接
- 需要知道手机的IP
- 获取手机WIFI的IP的方法:设置 - WLAN - 右上角三点 - 高级 - 最下面的就是IP地址了
- 连接方法:
import uiautomator2 as u2
d = u2.connect_wifi('172.17.100.15')
print(d.info)
- 这个方法有的时候会失败,但是不用着急,因为我们通常是使用USB来连接的
通过USB来连接
- 需要知道手机的设备号:在终端运行这个代码可以知道手机的设备号
adb devices
# 导包
import uiautomator2 as u2
# 通过WIFI来连接
# d = u2.connect_wifi('172.17.100.15')
# print(d.info)
# 通过USB来连接
d = u2.connect_usb('127.0.0.1:62001')
print(d.info)
下载软件
# 导包
import uiautomator2 as u2
# 通过WIFI来连接
# d = u2.connect_wifi('172.17.100.15')
# print(d.info)
# 通过USB来连接
d = u2.connect_usb('127.0.0.1:62001')
# print(d.info)
# 通过路径下载软件
d.app_install(data=r'D:\YsReason\App\106_2a65b5b89a76f0f1e28b51fe6461f077.apk')
卸载软件
# 导包
import uiautomator2 as u2
# 通过WIFI来连接
# d = u2.connect_wifi('172.17.100.15')
# print(d.info)
# 通过USB来连接
d = u2.connect_usb('127.0.0.1:62001')
# print(d.info)
# 通过路径下载软甲
# d.app_install(data=r'D:\YsReason\App\106_2a65b5b89a76f0f1e28b51fe6461f077.apk')
# 卸载软件
d.app_uninstall('com.tal.kaoyan') # 参数为apk包的名字
|