ADB驱动 + Uiautomator2 环境搭建(python自动化)

ADB驱动 + Uiautomator2 环境搭建

ADB驱动

ADB驱动下载

百度搜索ADB驱动下载并安装,我用的是adb1.4.3版本的,低版本有部分指令不兼容,比较麻烦。

  • 可以去官网下载,也可以在各种软件网下载。搞颜色的,搜索能力都不差,对吧。
    在这里插入图片描述

ADB安装

下载好后,点击 .exe 可执行文件,将会弹出蓝色窗口,一直 y y y就好了。
在这里插入图片描述
随后转入设备驱动程序安装向导(ADB驱动也不是特别大,直接跟着默认走就好了,现在都0202年了):
在这里插入图片描述
给ADB驱动配环境变量,如何配置环境变量就不详讲了。
在这里插入图片描述
这样,我们的ADB驱动就搞好了。可以去命令行测试,要将移动端用手机接入PC中
常用的几条ADB指令,我只是像写个自动化脚本,所有没过多研究有哪些指令(有接触到其他的在补充)
要注意是否有其他程序占有了ADB的端口号,默认是“5037”

  • adb devices 应该是获取手机的序列号。
    在这里插入图片描述
    ADB也可以用压缩包喔,只用在环境变量中添加adb文件夹的地址即可

Uiautomator2 安装

uiautomator2下载

进入命令框输入:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple uiautomator2
之前已经写过了如何镜像了 传送门

Python调用 uiautomator2模块

import uiautomator2


安装ATX手机插件

在命令行输入 python -m uiautomator2 init 给你的手机下载并安装 atx-agent 软件,一定要安装的喔
在这里插入图片描述                                                             在这里插入图片描述


查看

我们将把这个序列号用在ATX WEditor下的(下图的红框框内)
在这里插入图片描述

综合(都配置好的前提)

  • 在命令行处使用 adb devices 获取序列号
  • 在命令行处输入 python -m weditor 将会通过默认浏览器打开 http://localhost:17310/这一网址
    在这里插入图片描述
  • 在刚才讲的红框处,输入自己的序列号
  • 点击 Connect 按键,启动,启动成功后会多片树叶
  • 开始编写python脚本,像d(XXXXXYYYYY)这一串,可以在 http://localhost:17310/ 的代码处复制
    和python里的pyautogui模块控制鼠标键盘是类似的

实测有用的函数

初始化

#用IPV4来连接,可在ATX那个APP上看到
d = uiautomator2.connect(“192.168.0.100”)
#只要单台移动设备是可以不用填写,多台设备就需要在方法内加入对应的序列号了
d = uiautomator2.connect_usb(‘5165vsdbsb’)

开/关屏幕

#唤醒屏幕
d.screen_on()
#关闭屏幕
d.screen_off()

打开/关闭应用

  • 手机端先打开相应的应用,然后在命令行输入“ adb shell dumpsys window w |findstr / |findstr name=”得到当前打开APP的安装包名。
  • 例如今日校园:mSurface=Surface(name=adb shell dumpsys window w |findstr / |findstr name=)

#打开应用
d.app_start(‘com.wisedu.cpdaily/com.wisorg.wisedu.home.ui.HomeActivity’)
#关闭应用(关闭应用时,应返回桌面后再关闭应用)
d.app_stop(‘com.wisedu.cpdaily/com.wisorg.wisedu.home.ui.HomeActivity’)

滑动

#滑屏解锁屏幕
d.swipe(0.224, 0.751, 0.766, 0.534)

点击

#在手机屏幕上找XXXX文字的按钮进行点击,支持中文
d(text=“XXXX”).click()
d(text=“你好,世界”).click()

#点击目标按钮
d(description=“XXXX”).click()
#根据Xpath的位置点击文件
d.xpath(’//*[@resource-id=“com.wisedu.cpdaily:id/lv_app_msg”]’).click()
#根据坐标的百分比点击
d.click(0.489, 0.535)

输入文字

d(resourceId=“com.location.XXXXXXXX”).set_text(‘hello world’)
在d(resourceId=“com.location.XXXXXXXX”)对应的文本框输入“hello world”

步骤

  1. 设置初始化(选着用wifi还是数据线)
  2. 开屏
  3. 实现模拟。。。
  4. 熄屏

打开ATX-Agent这款App

  1. 将手机插上电脑,并在手机端选择 数据传输方式
  2. 打开电脑端的CMD,并输入"python -m uiautomator2 init"
  3. 待加载完成后,打开手机端的ATX-Agent软件
  4. 点击"启动UIAUTOMATOR",即可完成手机端的ATX-Agent启动

不错的文章

值得参考的详细教程
指令集
adb大全

### 完整环境配置教程 #### 一、软件依赖安装 为了确保Appium能够顺利与模拟器交互并执行自动化测试,需先完成一系列必要的软件安装。 对于Python开发环境而言,应安装特定版本的`selenium`以及`appium-python-client`来保障兼容性。具体命令如下: ```bash pip install selenium==4.9.0 pip install appium-python-client==2.9.0 ``` 上述操作会下载指定版本的库文件至本地环境中[^1]。 #### 二、Java与Android SDK准备 考虑到部分驱动程序(如UiAutomator2)依赖于Java环境的支持,在此之前还需确认已正确设置了Java路径,并且其版本不低于1.8.x系列;与此同时,也得准备好对应版本的Android SDK工具集,包括但不限于SDK Platform Tools中的ADB工具等组件,这些都将用于后续设备管理及调试工作之中[^3]。 #### 三、连接模拟器 针对不同类型的模拟器产品线,存在多种方式可实现与其建立稳定链接的目的。例如对于某些品牌下的模拟器来说,可以通过简单的替换策略——即用官方提供的最新版`adb.exe`覆盖原有同名文件的方式达成目的;而对于其他情况,则更倾向于采用标准网络通信模式,利用`adb connect IP地址:端口号`指令来进行远程接入尝试[^2][^4]。 #### 四、启动服务 当一切准备工作就绪之后,便可以着手开启核心的服务进程了。这一步骤主要涉及到两个方面的工作:一方面是要保证目标应用程序能够在选定的目标平台上正常加载运行;另一方面则是要激活后台监听状态下的Appium Server实例以便接收来自客户端发出的各种控制请求[^5]。 最后值得注意的是,在实际部署过程中可能还会遇到各种意想不到的问题,因此建议开发者们随时关注官方文档更新动态和技术社区交流平台上的讨论话题,从而获取更多实用技巧和解决方案。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值