Python+uiautomator2手机UI自动化测试实战 --1. 环境搭建

2023-11-04

转自:https://blog.csdn.net/ricky_yangrui/article/details/81414870

一.简介

uiautomator2是一个python库,用于Android的UI自动化测试,其底层基于Google uiautomator,Google提供的uiautomator库可以获取屏幕上任意一个APP的任意一个控件属性,并对其进行任意操作

二.安装

1. 安装uiautomator2

pip install --upgrade --pre uiautomator2
2.如果你需要用到截图,安装pillow

pip install pillow
3.手机USB线与电脑连接,将关联的守护进程部署到设备电脑连接上一个手机或多个手机,确保adb已经添加到环境变量中,执行下面的命令会自动安装本库所需要的设备端程序:uiautomator-server,atx-agent,openstf / minicap,openstf / minitouch

# init就是所有USB连接电脑的手机上都安装uiautomator2
python -m uiautomator2 init
 
 
# 指定手机安装uiautomator2, 用 --mirror
python -m uiautomator2 init --mirror --serial $SERIAL
嫌弃慢的话,可以用国内的镜像

python -m uiautomator2 init --mirror
4.安装weditor,有了这个,方便我们快速的识别手机上的元素,方便写代码

pip install --pre -U weditor
Windows系统可以使用命令在桌面创建一个快捷方式 python -m weditor --shortcut

启动方法:python -m weditor ,会自动打开浏览器,看到如下界面

如何与手机连接起来呢,就是通过手机序列号来实现的。打开cmd,输入adb devices,查看手机序列号

在刚才的浏览器的界面输入手机的序列号,点击连接,然后点击reload,就可以在网页上看到手机的界面了。非常的强大。我们可以看到手机元素的各种定位方法,在UI自动化写代码的时候,真的是非常的方面,手机页面和weditor是实时同步的。

5. 命令行

init: 为设备安装所需要的程序
install: 安装apk,apk通过URL给出
python -m uiautomator2 install $device_ip https://example.org/some.apk
clear-cache: 清空缓存
python -m uiautomator2 clear-cache
app-stop-all:停止所有应用
python -m uiautomator2 app-stop-all $device_ip
screenshot: 截图
python -m uiautomator2 screenshot $device_ip screenshot.jpg
healthcheck: 健康检查
python -m uiautomator2 healthcheck $device_ip
————————————————
版权声明:本文为CSDN博主「Ricky_Frog」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/ricky_yangrui/article/details/81414870

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python+uiautomator2手机UI自动化测试实战 --1. 环境搭建 的相关文章

随机推荐

  • 华为交换机S5735S配置SSH

    1 在服务器端生成本地密钥对
  • 为什么在DEV-C++上可以运行的代码在VS-2022上报错

    大佬们帮帮忙看一下这个是为什么 刚上手使用VS还有很多不懂 在用数组打印时它就报错 但是在DEV上可以运行 就是上面两张图 看不懂VS报错的是什么 麻烦大佬指点一下
  • [从零开始学DeepFaceLab-1]: 架构-概述与功能简介

    目录 1 什么是DeepFaceLab 1 1 什么DeepFaceLab 1 2 Deepfacelab的适用范围
  • k8s开发基础-WeopsWay自动化运维平台之多k8s集群管理

    多种公有云以及本地虚拟机 k8s容器环境等 平时管理起来也不是很方便 想找一个免费的并且适合自己的多云管理平台又很难 这也是决定自己扣钉的初衷 从运维的角度思考开发 从开发的角度思考运维 疫情的这两年 感觉时间过得很快 但愿留点看得见的东西
  • oracle-CREATE OR REPLACE PROCEDURE存储过程使用

    查阅博文 https www cnblogs com wolfplan p 4004624 html 其中描述比较清晰 建议查阅此链接博文 也可查阅此 https www cnblogs com ao xiang p 6640827 htm
  • OpenMV颜色阈值设置

    OpenMV提供了两者阈值设置方案 分别是阈值编译器和直方图的方式选择阈值 阈值编译器 优点 所寻找到的目标颜色更加合理 其他相似颜色区域的干扰比较小 缺点 调节LAB的最大最小值比较花费时间 直立方图恰好相反 他很容易找到LAB的最大最小
  • 分库分表实战(8):激流勇进 — 千万级数据优化之加缓存

    V X ruyuanhadeng获得600 页原创精品文章汇总PDF 前 言 经过前面索引和sql的优化后 现在查询速度快的飞起 然后 我们继续回归到了日常需求的开发中 3个月过后 订单表的数据已经达到5000万了 不过sql一次查询的时间
  • 操作系统内存管理详细总结

    1 内存管理的概念 内存管理 Memory Management 是操作系统设计中最重要和最复杂的内容之一 虽然计算机硬件一直在飞速发展 内存容量也在不断增长 但是仍然不可能将所有用户进程和系统所需要的全部程序和数据放入主存中 所以操作系统
  • github镜像站【转载】

    GitHub 在国内经常会出现无法访问的情况 下面分享几个 GitHub 镜像站供大家使用 全局加速 可直接访问站点 查看代码等操作 支持Git clone 网页或命令行下载zip Releases等 链接 https help kgith
  • Uncaught TypeError: Illegal invocation

    今天使用JavaScript的setTimeout遇到一个问题 如下是原代码 setTimeout raiseEle setCustomValidity 1000 raiseEle是一个HTMLInputElement 标题错误是在Chro
  • C#获取(友好)串口名称

    每次使用串口都要进去设备管理器找到对应的串口号 不管你们烦不烦 反正我很暴躁 于是就有了自己做一个串口助手的想法 那C 怎么来自动获取 友好 串口名称 拒绝打开设备管理器呢 通过读取设备管理器里的条目来实现 下面的代码解决问题 获取可用端口
  • LeetCode 217. 存在重复元素

    题目链接 点击这里 class Solution public bool containsDuplicate vector
  • 基于python的数字图像处理--学习笔记(一)

    基于python的数字图像处理 学习笔记 一 图像处理python常用库和函数 1 opencv python库 2 opencv python常用函数 图像处理python常用库和函数 使用opencv python读取图片数据 并使用n
  • 解决WinXP系统无法打开网上邻居方法

    在网络维护中 经常会遇到打不开网上邻居的问题 现整理了打不开网上邻居的处理方法 供大家在遇到此问题时参考 下面是打不开网上邻居的处理方法 1 安装NWlinkIPX SPX NetBIOSCompatibleTransportProtoco
  • 友元函数的定义和使用

    下面是友元函数的定义和使用 学生姓名 成绩 include
  • shell 的here document 用法、输入/输出重定向

    前些天发现了一个巨牛的人工智能学习网站 通俗易懂 风趣幽默 忍不住分享一下给大家 点击跳转到教程 什么是Here Document Here Document 是在Linux Shell 中的一种特殊的重定向方式 它的基本的形式如下 cmd
  • Python控制命令行打印的方法

    禁止结果打印 import sys def block print sys stdout open os devnull w 继续结果打印 import sys def enable print sys stdout sys stdout
  • 【ssh】ssh远程登录:no hostkey alg报错处理

    背景 centos系统 在ssh远程登录出现no hostkey alg 的报错 查询资料是因为ssh版本高低连接的原因 解决办法 一 通过重启sshd重新生成key rm rf etc ssh ssh key systemctl rest
  • 基于TF-Agent的回合策略梯度算法模型训练Atari游戏

    在上一篇博客中 我用Tensorflow的Agent库的DQN模型来对Atari的PONG游戏进行训练 效果很好 这次我打算测试一下回合策略梯度模型 看是否也能取得相同的效果 关于回合策略梯度算法的介绍 可以见我之前的另一篇博客强化学习笔记
  • Python+uiautomator2手机UI自动化测试实战 --1. 环境搭建

    转自 https blog csdn net ricky yangrui article details 81414870 一 简介 uiautomator2是一个python库 用于Android的UI自动化测试 其底层基于Google