首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

聊聊 PC 端自动化最佳方案 - WinAppDriver

,要使用 WinAppDriver 服务框架完成 Windows 自动化,需要满足 Windows10 或 Windows Server 2016 以上系统 另外,它支持应用程序包含: UWP -...常用 2 种窗口元素识别工具为:inspect.exe、FlaUInspect 其中 作为官方组件元素识别工具,inspect.exe 集成于 Windows SDK 如果本地不存在该文件,可以通过下面链接进行安装...实战一下 我们以操作 PC 端微信为例,聊聊自动化常见步骤 首先,我们在本机打开 WinAppDriver 服务,让它在后台运行 然后,我们使用 Python 编写自动化脚本 通过 ip 地址、端口号及...应用程序 os.system(' @taskkill /f /im WinAppDriver.exe') 4....最后 在实际使用过程中,可能会遇到复杂桌面应用程序,这时我们可以通过打印驱动对象「 page_source」元素控制树值,以此来帮助我们进行快速定位元素,进而完善自动化脚本 如果你觉得文章还不错,请大家

2.6K11

聊聊 PC 端自动化最佳方案 - Pywinauto

上一篇文章,聊到 PC 端一种自动化方案:WinAppDriver 聊聊 PC 端自动化最佳方案 - WinAppDriver 有小伙伴后台给我留言,说「 pywinauto 」作为 WinAppDriver...介绍 Pywinauto,完全由 Python 构建一个模块,可以用于自动化 Windows 上 GUI 应用程序 同时,它支持鼠标、键盘操作,在元素控件树较复杂界面,可以辅助我们完成自动化操作...元素控件 和 WinAppDriver 类似,在编写自动化脚本之前,我们需要先获取元素控件各类属性值 获取元素控件有 2 种方式: 窗口内置方法 检查工具 其中 窗口对象内置 2 个方法都可以打印出当前页面的元素控件树...2 种,分别是:Inspect.exe、Spy++ 4....和 WinAppDriver 都能很好完成 PC 端自动化,但是由于 WinAppDriver 支持 Appium,在脚本语法简洁性方面可能更有优势

2.4K51
您找到你想要的搜索结果了吗?
是的
没有找到

软件测试|PC端应用自动化最佳解决方案——Pywinauto

「Pywinauto 」作为 WinAppDriver 替代方案,能完美完成 PC 端自动化吗?闲话少说,是骡子是马,牵出来遛遛,证明一下!...Pywinauto介绍Pywinauto,完全由 Python 构建一个模块,可以用于自动化 Windows 上 GUI 应用程序。... backend 为「 uia 」元素控件和 WinAppDriver 类似,在编写自动化脚本之前,我们需要先获取元素控件各类属性值获取元素控件有 2 种方式:窗口内置方法检查工具窗口对象内置...()常用检查工具也包含 2 种,分别是:Inspect.exe、Spy++实战一下我们使用PC端微信来实现自动发消息功能,进行实际操作之前,先安装好环境pip3 install pywinauto打开微信客户端首先...,通过检查工具判断应用 backend 属性值,PC 端微信 backend 为「 uia 」然后,实例化一个「 Application 」类最后,使用该对象内置函数创建一个应用对象import

2.9K20

Windows桌面自动化测试工具:WinAppDriver

WinAppDriver提供了一组API,用于与Windows应用程序进行交互,包括查找元素、模拟用户输入、执行操作等。 WinAppDriver主要用途是自动化测试Windows应用程序。...强大元素定位:WinAppDriver 提供了丰富元素定位方法,可以根据元素属性、文本、坐标等多种方式进行定位。这使得定位元素更加灵活和准确,提高测试脚本稳定性和可维护性。...Microsoft Store 应用程序:这些应用程序通过 Microsoft Store 下载和安装应用程序,也属于 UWP 应用程序一种。...获取元素文本内容: # 通过元素名称进行查找 element = driver.find_element_by_name("LabelName") text = element.text print...通过创建 WinAppDriver 驱动对象并调用 launch_app() 方法,可以打开 Word 应用程序。然后,可以使用 WinAppDriver 提供 API 进行自动化测试操作。

2.6K41

windows 桌面GUI自动化-1. pywinauto 环境准备

如果使用 inspect uia模式,可见控件和属性更多的话,backend可选uia,反之,backend可选win32。...inspect 元素定位工具 常用一些元素定位工具: SPY++,用于WIN32 API。当SPY++可以显示所有的控件时,访问技术应该选择”win32”。...Inspect.exe:如果Inspect.exe模式设置为UIA模式,可以比SPY++显示更多控件,则访问技术应该选择”uia”。.../ 下载后在本机安装,Inspect.exe 位于 SDK 安装路径 \bin\\文件夹中。...提供对检查功能访问权限。 工具 栏。提供对检查功能访问权限。 树视图。将 UI 元素分层结构呈现为可用于在元素之间导航树视图控件。 数据视图。显示所选 UI 元素所有公开辅助功能属性。

96930

UI自动化 --- 微软UI Automation

「Appium」:Appium是一个开源免费移动应用程序自动化测试框架,也支持多种语言脚本驱动测试。...它满足了辅助技术产品和自动化测试框架需求,通过提供对用户界面(UI)信息编程访问来实现。此外,UI Automation还使控件和应用程序开发人员能够使其产品具有辅助功能。...里边提到了,使用编程访问可以通过代码模仿由传统鼠标和键盘输入展开任何交互和体验,UIAutomation 通过五个组件实现编程访问: UI Automation tree(UI自动化树) UI Automation...) 如下图所示: 最后列出了测试应用程序中实现UI自动化步骤: 辅助工具介绍 步骤中提到了一个工具 --- 「Inspect.exe」 ,该工具是一个图形用户界面 (GUI) 应用程序,可用于收集用于提供程序和客户端开发和调试...使用「Inspect.exe」找到目标程序进程ID和控件AutomationID。输入到测试程序中,看执行结果。

56130

PC 自动化测试入门 - pywinauto 上篇:初识

PC 自动化测试特指针对 Windows 平台应用程序进行自动化测试,而 pywinauto 是一款用于实现 Windows GUI 应用程序自动化测试 Python 库。...本文将介绍 PC 自动化测试基本概念、常用工具以及初识 pywinauto,以及通过一个操作记事本示例演示其基本用法。 PC 自动化测试 是什么?...pywinauto 是一款基于 Python 开源库,用于自动化测试 Windows 平台 GUI 应用程序。它能够模拟用户键盘和鼠标操作,以及获取和修改应用程序控件属性。...使用了几个组件选择器:Inspect.exe、Spy++,感觉 Inspect.exe 最好用,但组件选择器和组件树不匹配,需要以打印组件树为准。...', '无标题Document'] Inspect.exe 结果: Inspect.exe 结果中有 name 字段,但实际上组件并没有 name,使用 name 会导致组件无法匹配到。

76330

windows 桌面GUI自动化-3. pywinauto 操作指定window窗口

前言 pywinauto 操作GUI应用程序元素,需先找到指定窗口,基于窗口查找框架再操作。 如何查看窗口信息?...当前面启动记事本后,可以通过inspect.exe 查看窗口信息 主要看2个属性,窗口标题,也就是左上角我们看到 还有一个是查看class属性,只能通过工具查看 可以通过标题和class...") dlg = app.top_window() print(dlg) 这将返回具有应用程序顶级窗口最高顺序窗口。...注意: 它返回是是应用程序顶级窗口,如果窗口有覆盖情况,那么你可以使用与传递给findwindows.find_windows()相同参数,例如 dlg = app.window(title_re...*部分标题.*") 获取当前应用全部windows dialogs = app.windows() 这将返回应用程序所有可见,启用顶级窗口列表。

2.6K30

windows 桌面GUI自动化-2. pywinauto 启动指定应用程序

前言 pywinauto 可以启动电脑自带应用程序,也可以启动直接安装应用 启动电脑自带应用程序 上一篇环境准备,可以启动记事本了 from pywinauto.application import...Application# 启动记事本app = Application(backend="uia").start("notepad.exe") 通过start() 方法指定exe应用程序名称即可。...要指定已在运行应用程序,您需要指定以下之一: process: 应用程序进程ID,例如app = Application().connect(process=2341) handle:应用程序窗口窗口句柄...如果我们想操作一个已经打开应用程序,可以根据应用进程号 PID 去操作 先查看应用进程PID 通过connect()方法连接,process参数指定PID from pywinauto.application...也可以根据 handle 句柄来连上打开应用程序通过Inspect.exe查看 handle 句柄Inspect.exe查看是16进制,每次启动也会变化。

83920

自动化-Appium-简介

本机应用程序是那些使用IOS、Android或Windows SDK编写应用程序。...移动网络应用是使用移动浏览器访问web应用程序(Appium支持IOS上Safari,支持Android上Chrome或内置“浏览器”应用程序)。...2 Android 2.3+:谷歌Instrumentation(Instrumentation由单独项目Selendroid提供支持) Windows:微软WinAppDriver 通过将供应商提供框架封装在一个...目的就是为了通过浏览器(Chrome、Firefox等)去测试Web站点,Appium继承了移动JSON Wire Protocol协议并进行扩展,它可以控制不同移动设备行为,比如通过Session...elements –找一组元素 ·/session/:sessionId/element/:id/click –通过id找到元素之后点击元素 ·/session/:sessionId/source –获取页面源码

1.3K20

总结一些我在开发WPF时常用工具

此工具通过显示应用程序资源使用情况详细视图来帮助提高 XAML 应用程序性能。...此功能使开发者能够通过运行应用程序数据上下文、身份验证状态和其他在设计时难以模拟实际复杂性,以增量方式构建和测试XAML代码。 ?...这些工具为开发者提供正在运行XAML应用程序UI元素树视图,并向开发者显示所选择任何UI元素运行时属性。 ? 2. Blend for Visual Studio ?...除了可以强化C#代码体验,ReSharper对XAML也有很多增强功能,包括: XAML错误提示 增强XAML智能感知 导航和查找XAML元素 XAML代码重构 更详尽功能请看 XAML Editing...,它上一级目录里还有inspect.exe(前提是需要先获取Windows SDK)。

2.9K30

UI自动化 --- UI Automation 基础详解

引言 上一篇文章UI自动化 --- 微软UI Automation中,介绍了UI Automation能够做什么,且借助 Inspect.exe 工具完成了一个模拟点击操作Demo,文章结尾也提出了自己一些想法...作用域是定义视图范围,从一个基本元素开始:例如,应用程序可能只想查找桌面的直接子元素,或者某个应用程序窗口所有后代元素。过滤是定义要包含在视图中元素类型。...通过在不指定属性情况下搜索元素或使用 RawViewWalker 浏览树,可以获得原始视图。...例如,一个本身不包含任何信息,仅用于布局对话框中控件面板。 控件视图中可见非交互项例如有包含信息图形和对话框中静态文本。 控件视图中包含非交互项不能接收键盘焦点。...当桌面上有新 UI 项变得可见、隐藏或删除时,结果便发生更改。 全局桌面更改 当与客户端相关全局操作发生时引发,例如当焦点从一个元素转换到另一个元素、或窗口关闭时。

1.5K20

ChatGPT推荐最常用自动化测试、性能、安全测试工具!

优点是支持 Android 平台上多种应用程序,可以通过多种方式定位 UI 元素,如 text、resource-id、content-desc 等。...WinAppDriverWinAppDriver 是 Windows 操作系统上一种自动化测试工具,可以用于测试桌面应用程序,支持多种编程语言,如 Java、Python、JavaScript 等。...它优点是支持 Windows 平台上多种应用程序,可以使用多种方式定位 UI 元素,如名称、ID、类名等。缺点是需要在被测程序中引入 WinAppDriver 客户端库,增加了被测程序依赖性。...它优点是支持多种应用程序和测试类型,可以使用多种方式定位 UI 元素,如名称、ID、XPath 等。缺点是需要购买商业版才能使用全部功能,价格较高。...它优点是简单易学,支持多种编程语言和多种方式定位 UI 元素,如名称、类名、文本等。缺点是对于复杂测试场景,需要编写大量脚本代码,测试脚本维护难度较高。

2.1K21

PC端自动化测试(一)

应用程序可访问技术 支持控件访问技术 Win32 API(backend=“win32”) 默认backend MFC,VB6,VCL简单WinForms控件和大多数旧应用程序 MS UI Automation...“uia”) WinForms,WPF,Store apps,Qt5,浏览器 进程数量 单进程 Application作用范围是一个进程 跨进程 Desktop作用范围可以跨进程 GUI对象检查工具 Inspect.exe...spy++.exe ViewWizard 打开应用程序 from pywinauto.application import Application # 打开指定应用程序 # 1....打开任意一个应用程序app = Application(backend='uia').start("exe路径") 连接已经打开应用程序 通过进程号 通过窗口句柄 app = Application(...选择指定窗口 # 方式一:app[类名/标题] :推荐使用该方式 # 1.通过窗口类型来选择dlg = app["TNavicatMainForm"] # 2.通过窗口标题来选择dlg = app["

3.9K61

pywinauto,一款Win自动化利器!

适合Windows系统软件(GUI),可以通过Pywinauto遍历窗口(对话框)和窗口里控件,也可以控制鼠标和键盘输入,所以它能做事情比之前介绍pysimplegui更多 一般使用pip安装就行了...:MFC、VB6、VCL、简单 WinForms 控件和大多数旧遗留应用程序 uia对应框架:WinForms、WPF、商店应用程序、Qt5、浏览器 如果无法知道要测试软件是属于哪种框架,可以使用...等,这都可以在inspect.exe上看到,不过需要注意是inspect看到Name其实对应是window()title参数 WindowSpecification对象常用方法如下 举个栗子...4.元素控件 一个窗口里一般都会有各种各样元素,比如说按钮 (Button)、编辑栏(Edit)、树状视图(Tree View)、复选框(CheckBox)、对话框(Dialog)、工具栏(Toolbar...,访问之后会返回一个继承于ElementInfo对象(UIAElementInfo或HwndElementInfo),比较重要属性或方法如下 这些元素除了有element_info可以获取一些元素主要信息

8310

windows 桌面GUI自动化-4. pywinauto 操作窗口控件child_window()

查看窗口控件 先学会如何查看窗口框架,可以用inspect.exe 查看窗口层级结构 以打开记事本为例 也可以通过print_ctrl_ids()方法 (另外一个print_control_identifiers...' (L405, T321, R1898, B340) | ['应用程序', 'Menu2', '应用程序Menu'] | child_window(title="应用程序", auto_id...win["Edit"].set_text("hello world") 常用定位控件方法 通过层级查找控件相关方法 window(**kwargs) # 用于窗口查找 child_window(**...kwargs) # 可以无视层级找后代中某个符合条件元素=⇒【最常用】 parent() # 返回此元素元素,没有参数 children(**kwargs) # 返回符合条件元素列表,支持索引...返回符合条件所有后代元素列表,是BaseWrapper对象(或子类) iter_children(**kwargs) # 符合条件后代元素迭代器,是BaseWrapper对象(或子类) **kwargs

1.8K40

QT4C-Windows自动化测试框架正式开源

在QT4C中,通过使用win32com模块和comtypes模块实现IAccessible接口包裹类,对用户提供封装好AccessibleObject对象进行使用,用户可以通过控件AccessibleObject...03 支持控件类型扩展 QT4C具有良好扩展性,支持用户根据实际需求对控件类型进行扩展,支持多种使用场景,用户可以针对自研控件实现测试桩注入逻辑,通过扩展新控件类型对自研控件进行UI自动化测试。...QT4C对每一种控件类型都内置了Proxy Object,用于获取应用程序属性或者进行操作,Proxy Object底层基于注入测试桩或调用被测程序提供API来封装获取属性或操作接口。 ?...01 使用Inspect获取控件属性 Inspect是一种Win32应用控件抓取工具,你可以使用微软提供Inspect.exe来获取控件,关于微软Inspect.exe使用,可参考官方文档。...='True'"   其次对界面中每个按键进行抓取封装,这里建议尽可能通过ClassName、ControlId等这些比较容易进行区分属性来封装控件,例如按键1QPath为: "/ClassName

3.1K32

Pywinauto之Windows UI 自动化1

Switch Inspect.exe into UIA mode (using MS UI Automation)....Application作用范围是一个进程,如一般桌面应用程序都为此类。 Desktop作用范围可以跨进程。主要用于像win10计算器这样包含多个进程程序。这种目前比较少见。...title为窗口名称,可使用UISpy一类定位元素工具去查找。 如图所示,该对话框中title为Name属性值:“打开” ? b)若使用定位元素工具找不到title怎么办?...,或不是唯一情况下,可使用类似selenium中xpath定位方式,根据查子元素序号去定位元素。...zhanxunpingtai\UPGRADEDOWNLOAD_R21.0.0001\UPGRADEDOWNLOAD_R21.0.0001\Bin\UpgradeDownload.exe") 运行程序后就会打开指定路径应用程序

8.2K32

Selenium自动化应该避免测试场景

Selenium可以捕获整个页面和页面上Web元素屏幕截图。检查页面在不同设备和屏幕分辨率上外观很重要。与其投资WebDriver,不如投资一个可视化测试工具。...两因素身份验证 不应该进行Selenium自动化另一种情况是双因素身份验证,其中移动应用程序通过使用身份验证器并电子邮件、手机号等发送消息。...您可以使用Google Lighthouse等前端性能测试工具来执行更快性能测试,或者使用JMeter来执行负载测试。 应用程序爬虫 Web爬虫可以通过找出哪些链接被破坏来节省时间和成本。...社交网站和电子邮件 不建议通过UI对社交媒体和电子邮件登录执行Selenium自动化场景测试,因为集成这些应用程序可能会获取不可靠测试性能。...因此,微软创建 WinAppDriver(Windows 应用程序驱动程序)来支持基于Windows应用程序类似SeleniumUI测试自动化。

1.4K20
领券