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

基于Appium+WinAppDriver+Python的winUI3应用的自动化框架搭建分享(一)环境配置

安装WinAppDriver

  1. 下载并安装WinAppDriver:来源 https://github.com/Microsoft/WinAppDriver/releases

  1. 开启电脑的开发者模式

设置-隐私和安全性-开发者选项-开发人员模式

安装Appium

  1. 安装Appium Server Gui https://github.com/appium/appium-desktop/releases

  1. 安装Appium Inspector https://github.com/appium/appium-inspector/releases

  1. 安装Java jdk https://www.oracle.com/cn/java/technologies/downloads/#jdk19-windows

  1. 在系统环境变量中新增环境变量:JAVA_HOME,值为C:\Program Files\Java\jdk-19;双击Path,添加值C:\Program Files\Java\jdk-19\bin

  1. 安装Android SDK,配置环境变量

  1. 安装Android Studiohttps://developer.android.google.cn/studio/

  1. 安装完成后,打开Android Studio,随便新建一个Android Project,Android SDK位置在File-Project Structure-SDK Location

  1. 配置环境变量,新增系统环境变量ANDROID_HOME,值为C:\Users\99007\AppData\Local\Android\Sdk(是刚才在Android Studio中找到的SDK位置)

  1. 双击Path,新增Path值,具体值如下:

C:\Users\99007\AppData\Local\Android\Sdk\platform-tools

C:\Users\99007\AppData\Local\Android\Sdk\build-tools

C:\Users\99007\AppData\Local\Android\Sdk\tools

安装Python3.8

  1. 安装Python3.8 Python Release Python 3.8.0 | Python.org

  1. 安装Pycharm Download PyCharm: Python IDE for Professional Developers by JetBrains

使用Appium连接手机和PC应用

连接手机应用

配置Session

{"platformName": "Android",//分为Windows/Mac/Android"appium:deviceName": "96b26ad0",//可以通过adb deviecs获取"appium:platformVersion": "13",//手机的Android版本"appium:appPackage": "com.android.fileexplorer",//通过adb shell pm list package获取包名appPackage"appium:appActivity": ".FileExplorerTabActivity",//运行手机apk后,输入adb shell dumpsys window w | grep mCurrent获取appActivity"appium:unicodeKeyboard": "True","appium:resetKeyboard": "True","appium:noReset": "True"
}

连接电脑应用

配置Session

{"appium:app": "C:\Program Files (x86)\WPS Office\ksolaunch.exe"//应用所在的文件位置"appium:deviceName": "A11E3E6",//你电脑的名字,设置-系统-系统信息-设备名称"platformName": "Windows"
}

相关文章:

基于Appium+WinAppDriver+Python的winUI3应用的自动化框架搭建分享(一)环境配置

安装WinAppDriver下载并安装WinAppDriver:来源 https://github.com/Microsoft/WinAppDriver/releases开启电脑的开发者模式设置-隐私和安全性-开发者选项-开发人员模式安装Appium安装Appium Server Gui https://github.com/appium/appium-desktop/releases安装Appium Inspector…...

使用docker安装RocketMQ

文章目录1.创建namesrv服务拉取镜像创建namesrv数据存储路径构建namesrv容器2.创建broker节点创建broker数据存储路径创建配置文件构建broker容器3.创建rockermq-console服务拉取镜像构建rockermq-console容器需要关闭防火墙或者开放namesrv和broker端口关闭防火墙开放指定端口…...

【FPGA仿真】Matlab生成二进制、十六进制的txt数据以及Vivado读取二进制、十六进制数据并将结果以txt格式保存

Matlab 生成二进制、十六进制数据 在使用Vivado软件进行Verilog程序仿真时可能需要对模块输入仿真的数据,因此我们需要一个产生数据的方法(二进制或者十六进制的数据),Matlab软件是一个很好的工具,当然你也可以使用VS…...

【第四章 IOC操作bean管理(基于注解方式创建对象,注入属性),完全注解开发】

第四章 IOC操作bean管理(基于注解方式创建对象,注入属性),完全注解开发 1.IOC操作bean管理(基于注解方式) (1)什么是注解: ①注解是代码特殊标记,格式&#…...

【手把手一起学习】(六) Altium Designer 20 STM32核心板Demo----PCB设计

1 PCB设计 PCB设计是制作STM32核心板的关键步骤,其关系到最终生产厂家制作的电路板能否正常使用,PCB设计包括布局,裁板,布线,覆铜,DRC检查等,其中要求、细节、技巧比较多,以后会更详…...

【蓝桥杯集训·周赛】AcWing 第92场周赛

文章目录第一题 AcWing 4864. 多边形一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第二题 AcWing 4865. 有效类型一、题目1、原题链接2、题目描述二、解题报告1、思路分析2、时间复杂度3、代码详解第三题 AcWing 4866. 最大数量一、题目1、原…...

编程参考 - GCC中的Basic ASM

asm关键字允许你在C代码中嵌入汇编程序指令。GCC提供两种形式的内联asm语句。一种是基本asm语句,是没有操作数的语句(见基本asm),而另一种扩展asm语句(见扩展asm)包括一个或多个操作数。在函数内部混合使用…...

软考中级-操作系统

1 操作系统地位计算机系统由硬件和软件组成,未配置软件的称为裸机,但这会导致效率低下。操作系统是为弥补用户与硬件之间的鸿沟的一种系统软件,汇编、编译、解释、数据库管理系统等系统软件和其他应用软件都在此基础。2 进程管理又称处理机管…...

MYD-Y6ULL开发笔记

MYD-Y6ULL开发 文章目录MYD-Y6ULL开发一、系统移植1. 核板说明2. 文件系统操作二、应用开发1. 应用自启动2. 应用编译3.系统应用4.网络5.系统参数一、系统移植 1. 核板说明 型号 MYIR-Y6UL Y2 V2-256N 256D-50I烧了固件命令 uuu.exe myd-y6ulx-y2-256n256d-core-base.auto2. 文…...

三天吃透Java虚拟机面试八股文

本文已经收录到Github仓库,该仓库包含计算机基础、Java基础、多线程、JVM、数据库、Redis、Spring、Mybatis、SpringMVC、SpringBoot、分布式、微服务、设计模式、架构、校招社招分享等核心知识点,欢迎star~ Github地址:https://github.com/…...

Spring Cloud Alibaba全家桶(二)——微服务组件Nacos注册中心

前言 本文为微服务组件Nacos注册中心相关知识,下边将对什么是 Nacos,Nacos注册中心(包括:注册中心演变及其设计思想、核心功能),Nacos Server部署(包括:单机模式、集群模式&#xff…...

命令执行漏洞 | iwebsec

文章目录1 靶场环境2 命令执行漏洞介绍3 靶场练习01-命令执行漏洞02-命令执行漏洞空格绕过03-命令执行漏洞关键命令绕过04-命令执行漏洞通配符绕过05-命令执行漏洞base64编码绕过4 命令执行漏洞危害01-读写系统文件02-执行系统命令03-种植恶意木马04-反弹shellpython反弹shellp…...

2023.02.26 学习周报

文章目录摘要文献阅读1.题目2.摘要3.介绍4.模型4.1 SESSION-PARALLEL MINI-BATCHES4.2 SAMPLING ON THE OUTPUT4.3 RANKING LOSS5.实验5.1 数据集5.2 验证方式5.3 baselines5.4 实验结果6.结论深度学习元胞自动机1.定义2.构成3.特性4.思想5.统计特征流形学习1.降维2.空间3.距离…...

局域网实现PC、Pad、Android互联

文章目录局域网实现PC、Pad、Android互联一、网络邻居1、 Windows 配置1.1 开启共享功能1.2 设置用户1.3 共享文件夹2、 Pad 连接二、 FTP & HTTP1、 电脑配置1.1 HTTP 服务1.2 FTP 服务2、 连接3、 电脑连接 FTP三、 其他方式局域网实现PC、Pad、Android互联 在我们使用多…...

AC自动机

AC自动机 该模型应用场景是什么样的?假如有一篇很长的文章,然后有一个敏感词表单,请从这篇文章里找出包含了哪些敏感词。即便是用KMP进行快速匹配,那也只能每次遍历整篇文章才能找到一种敏感词,KMP只适用于单一子串匹配…...

git入门

目录 1. git简介 1.1 git是什么 1.2 git与svn的区别 2. github 2.1 创建仓库 2.2 删除仓库 2.3 新建文件及文件夹 3. git的基本操作 3.1 配置账户及邮箱 3.2 git文件状态与工作区域 3.3 常用命令 3.4 克隆(clone) 3.5 查看git仓库的状态 3.…...

RK3568编译Android11和目录讲解

文章目录 前言一、下载android11源码二、环境搭建1.增加交换内存三、编译瑞芯微原厂源码四、目录讲解总结前言 本文记录在Ubuntu18.04中编译Android11,只有编译了源码,后面才能进行驱动的开发,有兴趣的小伙伴可以和我一起学习吧! 提示:以下是本篇文章正文内容,下面案例可…...

java泛型学习篇(二)

java泛型学习篇(二) 1 自定义泛型类 1.1 基本语法 Class 类型 <T,R,M...>{ //成员,其中...代表<>括号里面的参数可以有多个ja }1.2 注意点 1.2.1 属性和方法都是可以使用泛型的 T t;//属性使用泛型,合法public T getT() {return t;} //方法使用泛型,合法 publi…...

Java基础

Java基础Java基础一、课前问答二、概述三、Java的历史四、Java的特点五、计算机执行机制以及Java执行机制5.1 计算机的执行机制5.2 Java的执行机制六、常用DOS命令七、第一个Java程序八、包的使用九、编码规范十、注释Java基础 一、课前问答 1、什么是程序 2、什么是语言 3、什…...

骨骼控制(一)——动画动态节点(AnimDynamics)

文章目录一、引言二、骨骼控制三、UE蓝图中提供的骨骼控制节点——AnimDynamics动画蓝图节点1、什么是AnimDynamics动画蓝图节点①使用盒体计算惯性②使用约束来限制移动2、AnimDynamics节点的几种常用例子①单骨骼模拟②骨骼链模拟 <h2 id1>③群魔乱舞&#xff08;这是错…...

告别树莓派溢价!Radxa ROCK 5A 8GB版开箱实测,652元真香体验与避坑指南

652元平替树莓派4B&#xff1f;Radxa ROCK 5A深度体验与实战避坑手册 当树莓派4B的价格突破900元大关时&#xff0c;许多开发者开始寻找更具性价比的替代方案。Radxa ROCK 5A的出现恰逢其时——这款搭载RK3588S芯片的单板计算机不仅性能翻倍&#xff0c;价格却仅为652元&#…...

three-tile: 一个为Three.js应用注入真实地形的开源LOD模型库

1. three-tile究竟是什么&#xff1f; 第一次看到three-tile这个名字&#xff0c;很多人会误以为它又是一个WebGIS框架。但实际使用后你会发现&#xff0c;这个开源库的定位非常独特——它本质上是一个专为Three.js设计的LOD地形模型库。所谓LOD&#xff08;Level of Detail&am…...

墨语灵犀在互联网产品设计中的应用:用户需求分析与PRD生成

墨语灵犀在互联网产品设计中的应用&#xff1a;用户需求分析与PRD生成 每次产品评审会前&#xff0c;你是不是也经历过这样的夜晚&#xff1f;面对一堆零散的用户反馈、模糊的市场数据和脑子里盘旋的初步想法&#xff0c;要在短短几天内把它们梳理成一份逻辑清晰、结构完整的产…...

最完整的大模型算法工程师技术栈图谱(2026版)

目录 一、基础能力&#xff08;所有AI工程师的底座&#xff09; 1 编程语言 2 数据结构与算法 3 数学基础 二、深度学习基础 深度学习模型基础 三、大模型核心技术 1 Transformer架构 2 预训练 3 Tokenizer 四、大模型训练体系 1 分布式训练 2 训练优化技术 3 微…...

给嵌入式新手的Cortex-M0内核超详细图解:从寄存器到中断,一篇搞定STM32/GD32入门

给嵌入式新手的Cortex-M0内核超详细图解&#xff1a;从寄存器到中断&#xff0c;一篇搞定STM32/GD32入门 刚拿到STM32开发板时&#xff0c;看着密密麻麻的引脚和上百页的芯片手册&#xff0c;我完全不知道从哪里开始。直到导师指着原理图说&#xff1a;"把芯片想象成一个忙…...

Qwen3.5-35B-A3B-AWQ-4bit镜像技术亮点:服务重启自动恢复+模型热加载+无状态前端设计

Qwen3.5-35B-A3B-AWQ-4bit镜像技术亮点&#xff1a;服务重启自动恢复模型热加载无状态前端设计 1. 平台核心能力介绍 Qwen3.5-35B-A3B-AWQ-4bit是一款专为视觉多模态理解设计的量化模型&#xff0c;它将强大的图文理解能力与高效的部署特性完美结合。这个模型特别适合需要分析…...

Spring AI:Spring生态的AI工程框架全面解析

Spring AI&#xff1a;Spring生态的AI工程框架全面解析 【免费下载链接】spring-ai An Application Framework for AI Engineering 项目地址: https://gitcode.com/GitHub_Trending/spr/spring-ai Spring AI是Spring生态系统中的AI工程框架&#xff0c;为Java开发者提供…...

零基础玩转luci-app-unblockneteasemusic完全指南:从安装到多设备协同的3步进阶法

零基础玩转luci-app-unblockneteasemusic完全指南&#xff1a;从安装到多设备协同的3步进阶法 【免费下载链接】luci-app-unblockneteasemusic [OpenWrt] 解除网易云音乐播放限制 项目地址: https://gitcode.com/gh_mirrors/lu/luci-app-unblockneteasemusic luci-app-u…...

IntelliJ IDEA终极教程:从零基础到高效开发的完整指南

IntelliJ IDEA终极教程&#xff1a;从零基础到高效开发的完整指南 【免费下载链接】IntelliJ-IDEA-Tutorial IntelliJ IDEA 简体中文专题教程 项目地址: https://gitcode.com/gh_mirrors/in/IntelliJ-IDEA-Tutorial IntelliJ IDEA 是目前所有 IDE 中最具备沉浸式的 JVM …...

Scala入门必修课:val与var的深度对比与选择指南

Scala入门必修课&#xff1a;val与var的深度对比与选择指南1. 引言&#xff1a;变量定义的灵魂拷问2. 基础概念&#xff1a;val与var的定义2.1 直观区别2.2 类型推导3. 深入理解&#xff1a;从编译到执行3.1 编译后的字节码差异3.2 内存与性能考量4. 实际应用&#xff1a;选择指…...