当前位置: 首页 > news >正文

手机端-adb脚本自动化-真机版

从谷歌官网下载Android Platform Tools

https://developer.android.com/studio/releases/platform-tools.html

1、下载完成后解压

2、配置环境变量

高级环境变量>系统变量中找到path>将adb安装目录复制进去

系统变量>找到path>添加adb根目录

3、测试是否安装成功
# 打开的cmd命令框# 查看版本 adb version # 查看设备列表 adb devices# 关闭服务 adb kill-server# 开启服务 adb start-server

备注:1、adb version 打印出信息证明配置安装成功

2、adb devices 查看设备列表(List of devices attached 下面为空,表示 ADB 没有识别到任何设备)

3、adb kill-server 关闭服务 (防止启动失败)

4、adb start-server 开启服务 (

* daemon not running; starting now at tcp:5037
表示 ADB 服务当前没有运行,现在正在启动,并监听本地 5037 端口(这是 ADB 默认通信端口)。

* daemon started successfully
表示 ADB 服务已成功启动,可以开始与设备通信了。

4、真机adb连接

打开设置>关于>连续点击版本号>进入开发者模式>打开USB调试

备注:手机品牌不一样操作步骤也不同,只要打开USB调试就行

3、手机连接电脑

备注:将数据线连接电脑>允许连接>允许所有权限

cmd运行检查是否有设备 :adb devices

10AC9M1Q2X0013G:这是你的 Android 设备的 序列号(Serial Number)

device:状态为“device”,表示 ADB 已成功连接并可以与该设备通信。

4、PyCharm环境安装

安装 uiautomator2使用 pip 安装和ATX小黄车

1、在终端或 PyCharm 的 Terminal 中运行:

2、安装:pip install uiautomator2

3、给手机安装ATX:python -m uiautomator2 init (运行该命令后手机端会自动弹出ATX是否允许安装,点击允许)打开小黄车显示IP

5、安装weditor可视化投屏安卓调试器

pip install weditor #安装

python -m weditor #启动,自动打开一个网页证明安装成功

将 adb devices 返回的 设备号(10AC9M1Q2X0013G)输入进去,点击connect就OK了,此时点击4或5或刷新页面。

6、开始编写python自动化代码
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import uiautomator2 as u2d = u2.connect('10AC9M1Q2X0013G')
print(d.info)
d(text="抖音").click()  # 打开APP
d(resourceId="com.ss.android.ugc.aweme:id/ebo").click()  # 点击评论元素。
d.swipe_ext("up", 0.5)  # 翻看评论
d(resourceId="com.ss.android.ugc.aweme:id/d+y").click()  # 点击评论
d.send_keys("漂亮", True)  # 输入词语
d(resourceId="com.ss.android.ugc.aweme:id/ed7").click() # 发送

完美运行自动化!

7、用完记着关闭一下

备注:下次再重新开启服务,有时候模拟机有时候真机,adb容易端口占用或冲突

cmd执行关闭服务 :adb kill-server

http://www.dtcms.com/a/482052.html

相关文章:

  • Python爬虫常见陷阱:Ajax动态生成内容的URL去重与数据拼接
  • 简繁英3合1企业网站生成管理系统V1.6wordpress如何降级
  • 【学以致用|python自动化办公】OCR批量识别自动存为Excel(批量识别发票)
  • AJAX 实时搜索
  • 详细介绍C++中通过OLE操作excel时,一般会出现哪些异常,这些异常的原因是什么,如何来解决这些异常
  • ES6知识点详解和应用场景
  • 网站平台建设可行性c 网站开发项目教程
  • Webpack 核心知识点详解:proxy、热更新、Loader与Plugin全解析
  • 本地搭建 Jekyll 环境
  • 前端基础之《React(1)—webpack简介》
  • 攻击者利用Discord Webhook通过npm、PyPI和Ruby软件包构建隐蔽C2通道
  • [Spark] Metrics收集流程
  • pyspark并行性能提升经验
  • HTML盒子模型详解
  • 个人电脑做网站违法吗东莞市住建局官网
  • 下载selenium-ide及使用
  • [Spark] 事件总线机制
  • 长春建站公众号wordpress4.7中文主题
  • 6.string的模拟实现(三)
  • AQS 为什么采用抽象类(abstract class)而不是接口(interface)实现?
  • stable-diffusion-webui / stable-diffusion-webui-forge部署
  • 阿里云和聚名网的域名注册安全性如何?
  • 别让链表兜圈子——力扣141.环形链表
  • 济南网站推广公司做二手网站的用意
  • 专业的汽车媒体发稿怎么选
  • 事务消息(Transactional Message)
  • 北京网站开发周期专业的传媒行业网站开发
  • 高频使用RocksDB DeleteRange引起的问题及优化
  • for是什么意思?从foreign、forest谈起
  • 网站开发设计工程师网上注册公司申请入口