通过USB和wifi连接真机编写第一个脚本
目录
一、连接手机
1、通过usb数据线连接手机
2、无线连接手机
二、编写第一个脚本
一、连接手机
1、通过usb数据线连接手机
数据线连接手机并允许调试 cmd命令行执行:
adb devices

如果没有显示device信息,请检查:
- 手机是否开启usb调试
- 更换数据线(华为手机)
2、无线连接手机
将电脑与手机处于同网络环境
执行下面命令给手机分配port:
adb -s 设备名称 tcpip 分配端口号
注意:分配的端口号不能被占用

执行下面命令连接手机
adb connect 手机ip:分配的端口号

拔掉数据线,重新开启usb调试,查看设备:adb devices

二、编写第一个脚本
1、获取appPackage & appActivity
在CMD命令行输入adb shell 进入adb命令行模式

在adb命令行输入:logcat | grep ActivityManager ;在启动应用,找到关键字Displayed,关键字后面即为appPackage + appActivity

2、启动appium-desktop定位元素
下载地址:https://github.com/appium/appium-desktop/releases


定位元素

定位元素后,点击Tap模拟手动点击按钮

在安卓7.0及以上版本,左侧图无法refresh,需要增加 desired_caps['automationName'] = 'UIAutomator2'

3、编写脚本
# coding=utf-8from appium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.support.ui import WebDriverWait
from selenium.webdriver.support import expected_conditions as EC# appium服务监听地址
server = 'http://localhost:4723/wd/hub' # localhost为本机;4723为端口;/wd/hub可以看成是规定的默认地址
# app启动参数
desired_caps = {"platformName": "Android", # platformName:使用哪个移动操作系统平台;iOS,Android或FirefoxOS"deviceName": "dfc147f8", # deviceName:使用的移动设备或模拟器的种类"appPackage": "com.cdsg.zgph", # appPackage:你想运行的Android应用程序的Java包(仅限Android使用)"appActivity": ".activity.MainActivity" # 要从包中启动的Android活动的活动名称。(仅限Android使用)
}
# 驱动
driver = webdriver.Remote(server, desired_caps)
wait = WebDriverWait(driver, 30)
# 获取权限同意按钮
permission_btn = wait.until(EC.presence_of_element_located((By.ID, "com.android.packageinstaller:id/permission_allow_button")))
# 点击权限同意按钮
permission_btn.click()
-事必有法,然后有成- 最后祝大家早日达到测试的天花板!

以下是我收集到的比较好的学习教程资源,虽然不是什么很值钱的东西,如果你刚好需要,可以评论区,留言【777】直接拿走就好了
相关文章:
通过USB和wifi连接真机编写第一个脚本
目录 一、连接手机 1、通过usb数据线连接手机 2、无线连接手机 二、编写第一个脚本 一、连接手机 1、通过usb数据线连接手机 数据线连接手机并允许调试 cmd命令行执行: adb devices 如果没有显示device信息,请检查: 手机是否开启usb调…...
【javascript】 javascript对象函数 总结
Object.entries( ) 作用:返回一个数组,获取对象所有可枚举属性的名称 和 可枚举属性的值 const obj { a: 1, b: 2 }; const entries Object.entries(obj); console.log(entries); // [[a, 1], [b, 2]] Object.keys( ) 作用:返回一个数组…...
LVS+Keepalived 高可用群集实战部署
LVSKeepalived 高可用群集实战部署 一、Keepalived的概念1、LVS2、Keepalived及其工作原理3、Keepalived体系主要模块及其作用4、VRRP协议(虚拟路由冗余协议) 二、LVSKeepalived 高可用群集部署LVS 部署1.配置负载调度器(主、备相同ÿ…...
MCU启动过程
启动文件 启动文件到底什么作用,其实启动文件主要是进行堆栈之类的初始化, 中断向量表以及中断函数定义。启动文件要引导进入main 函数。 开发STM32F103用的启动文件是startup_stm32f10x_hd.s S32K146使用的启动文件是startup_S32K146.S 芯片架构 STM…...
Mysql 5.6使用配置文件my.ini来设置长时间连接数据库
对于已经安装了mysql和未安装都是同样的步骤。在C:\Program Files (x86)\MySQL\MySQL Server 5.6下生成一个my.ini文件。然后删除或者修改my-default.ini的名字。 一、my.ini配置文件如下 [mysqld] basedirC:\Program Files (x86)\MySQL\MySQL Server 5.6 datadirC:\Program F…...
改进YOLOv5/YOLOv8:复现结合即插即用 | 高效多尺度注意力(EMA),模块成为YOLOv5改进的小帮手
高效多尺度注意力(EMA) 论文介绍简介EMA模块图像分类实验目标检测实验yolov5加入方法yolo注册yaml文件yolov8加入方法EMA代码及加入方式yaml文件1EMA注意力论文 https://arxiv.org/ftp/arxiv/papers/2305/2305.13563.pdf 论文介绍 通道或空间的显著有效性 注意机制对产生更多…...
图像色彩增强论文调研
阅读论文 Deep Symmetric Network for Underexposed Image Enhancement with Recurrent Attentional Learning(ICCV2021) 使用对称编码器和解码器学习图像从低曝光转化到正常图片的映射方式,通过IFT(Invertible Feature Transformer)网络和提…...
ORACLE透明网关ODBC连接MYSQL
客户需求oracle访问mysql数据,客户是linux7.3 11.2.0.4单实例,字符集GBK,mysql是5.7.31,字符集UTF8,下面结合网上的文档和自己的实践,配置过程如下 1.安装oracle透明网关 首先在oracle服务器上面安装ora…...
Flutter网络请求框架Dio源码分析以及封装(二)--Cookie管理分析
Flutter网络请求框架Dio源码分析以及封装--Cookie管理分析 前言问题如何使用CookieJarCookieManagerPersistCookieJar总结 前言 上一篇文章我们简单分析了一下Dio发出请求时的大致工作流程,这个只是Dio最基本的功能,而且我们还没有分析走到httpClientA…...
Unity如何设计一个技能系统
一、技能系统的设计思路 技能系统是游戏中非常重要的一部分,因此在设计技能系统时需要考虑以下几个方面: 对啦!这里有个游戏开发交流小组里面聚集了一帮热爱学习游戏的零基础小白,也有一些正在从事游戏开发的技术大佬࿰…...
测试流程体系
目录: 软件测试基本概念软件测试模型软件测试工作流程测试左移和测试右移 1.软件测试基本概念 通过手工或者工具对"被测对象"进行测试验证实际结果与预期结果之间是否存在差异 软件测试作用 通过测试工作可以发现并修复软件当中存在的缺陷ÿ…...
Linux下CentOS KVM 虚拟化
介绍: KVM(Kernel-based Virtual Machine)是一种开源的虚拟化技术,它是基于Linux内核的虚拟化解决方案。KVM可以将一台物理服务器分割成多个虚拟机,每个虚拟机都可以运行不同的操作系统和应用程序,从而实现…...
< vue + ElementUi 组件封装:实现弹窗展示富文本数据,允许全文搜索高亮显示搜索内容 >
实现弹窗展示富文本数据,允许全文搜索高亮显示搜索内容 👉 前言👉 一、效果演示👉 二、实现思路👉 三、实现案例👍 卷王必胜!往期内容 💨 👉 前言 在 Vue elementUi 开…...
MATLAB 之 低层绘图操作和光照及材质处理
这里写目录标题 一、低层绘图操作1. 曲线对象2. 曲面对象3. 文本对象4. 其他核心对象4.1 区域块对象4.2 方框对象 二、光照和材质处理1. 光照处理2. 材质处理2.1 图形对象的反射特性2.2 material 函数 一、低层绘图操作 MATLAB 将曲线、曲面、文本等图形均视为对象,…...
LLM-Client一个轻量级的LLM集成工具
大型语言模型(llm)已经彻底改变了我们与文本交互的方式,OpenAI、Google、AI21、HuggingfaceHub、Anthropic和众多开源模型提供了不同的功能和优势。但是每个模型都有其独特的体系结构、api和兼容性需求,集成这些模型是一项耗时且具有挑战性的任务。 所以…...
leetcode动态数组vector实现杨辉三角
链接: leetcode动态数组vector实现杨辉三角 由题意可易得,从第三行开始,除了开始和末尾的位置上的元素,其余位置上的元素都是由上方的元素以及上方左侧的元素相加得到的,此时就很容易的到从第三行开始状态转移方程为vv[i][j] vv[…...
第二十三章_Redis高性能设计之epoll和IO多路复用深度解析
before 多路复用要解决的问题 并发多客户端连接,在多路复用之前最简单和典型的方案:同步阻塞网络IO模型 这种模式的特点就是用一个进程来处理一个网络连接(一个用户请求),比如一段典型的示例代码如下。 直接调用 recv 函数从一个 socket 上读…...
基于OpenCV-车辆检测项目(简易版)
车辆检测 1.项目介绍2. 读取一段视频3.通过形态学处理识别车辆4.描画轮廓5. 车辆计数并显示 本项目使用的视频地址链接 1.项目介绍 对一个视频进行车辆数量的检测,用到的知识有视频的读取,滤波器,形态学,添加直线、文本ÿ…...
用python获取海康摄像机视频
要调用海康摄像机视频,需要使用海康SDK提供的API。以下是一个简单的示例代码,可以连接到海康摄像机并获取视频流: python import sys from PyQt5.QtWidgets import QApplication, QWidget, QLabel from PyQt5.QtGui import QPixmap from PyQ…...
【Linux】遇事不决,可先点灯,LED驱动的进化之路---2
【Linux】遇事不决,可先点灯,LED驱动的进化之路---2 前言: 一、Pinctrl子系统重要概念 1.1 重要概念 1.1.1 pin controller 1.1.2 client device 1.1.3 补充概念 二、GPIO子系统重要概念 2.1 在设备树指定GPIO引脚 2.2 在驱动代码中…...
ncmdump:一键解锁网易云音乐NCM加密文件,实现无损格式转换
ncmdump:一键解锁网易云音乐NCM加密文件,实现无损格式转换 【免费下载链接】ncmdump ncmdump - 网易云音乐NCM转换 项目地址: https://gitcode.com/gh_mirrors/ncmdu/ncmdump 你是否曾从网易云音乐下载了喜爱的歌曲,却发现只能在特定应…...
ai辅助开发c语言:如何利用快马智能编程助手精通数据结构与算法
今天想和大家分享一个特别实用的学习经验——如何用AI辅助工具高效学习C语言的数据结构与算法。作为一个刚接触数据结构的小白,我在实现单链表时遇到了不少坑,但通过InsCode(快马)平台的AI编程助手,整个过程变得轻松多了。 链表创建与节点插入…...
intv_ai_mk11保姆级教程:解决页面打开但生成慢、服务启动失败等6类问题
intv_ai_mk11保姆级教程:解决页面打开但生成慢、服务启动失败等6类问题 1. 快速了解intv_ai_mk11 intv_ai_mk11是一个基于Llama架构的中等规模文本生成模型,特别适合处理通用问答、文本改写、解释说明和简短创作等任务。这个镜像已经完成了本地部署&am…...
三步掌握BilibiliDown:打造你的B站视频离线收藏库
三步掌握BilibiliDown:打造你的B站视频离线收藏库 【免费下载链接】BilibiliDown (GUI-多平台支持) B站 哔哩哔哩 视频下载器。支持稍后再看、收藏夹、UP主视频批量下载|Bilibili Video Downloader 😳 项目地址: https://gitcode.com/gh_mirrors/bi/Bi…...
别再只盯着Node2vec了!2024年链路预测实战:从传统打分到GNN端到端,一篇搞定
链路预测技术全景:从传统启发式到GNN端到端的实战演进 社交网络的好友推荐、电商平台的"猜你喜欢"、学术论文的引用预测——这些场景背后都依赖链路预测技术。作为图数据挖掘的核心任务之一,链路预测通过分析节点间潜在连接关系,为…...
适合自动化测试练习的免费 API 清单
免费接口-聚合网站 https://www.juhe.cn/ 适合自动化测试练习的免费 API 清单,按场景分类,覆盖 REST/GraphQL、状态码验证、自定义 Mock 与真实数据,可直接用于接口测试(含 Python+pytest)练习。 一、核心免费 API 清单(按场景) 表格 名称 类型 核心用途 特点 访问方式…...
Unity Shader UV 坐标与纹理平铺Tiling Offset 深度解析
从 UV 空间的数学本质出发,理解 URP 中纹理坐标的缩放(Tiling)与偏移(Offset)控制原理, 并掌握 Shader Graph、HLSL、C# 三种维度的实践技巧。UV 坐标系基础在实时渲染中,UV 坐标是将二维纹理贴…...
AUTOSAR NM实战避坑:从CANoe仿真到实车调试,搞定ECU异常唤醒与睡眠失败
AUTOSAR NM实战避坑指南:从仿真到实车的异常唤醒与睡眠失败解决方案 当ECU在深夜本该沉睡时突然"睁眼",消耗的不仅是电量,更是工程师的睡眠时间。这种场景在AUTOSAR网络管理(NM)开发中屡见不鲜——某个节点异…...
RKE2集群里crictl拉镜像总报‘device busy’?别急着重启,先排查这个安全软件
RKE2集群crictl拉镜像报"device busy"的深度排查指南 当你正在RKE2集群中执行关键部署,突然遇到crictl pull命令报出"failed to extract layer"和"device or resource busy"错误时,那种感觉就像在高速公路上突然爆胎。大多…...
Endnote与WPS高效协作:自动与手动关联全攻略
1. Endnote与WPS关联的必要性 对于科研人员和学术写作者来说,文献管理是日常工作中不可或缺的一部分。Endnote作为一款专业的文献管理软件,能够帮助我们高效地整理、引用和分享文献资料。而WPS Office则是国内广泛使用的办公软件,许多用户习惯…...
