随着软件开发越来越复杂,自动化测试已成为优秀软件开发的标准流程之一。Python自动化测试框架的发展也越来越成熟,各种框架也应运而生。微软自动化框架就是其中之一。
微软自动化框架(pywinauto)是一种使用Python编写的UI自动化测试框架。框架主要有以下几个特点:
1. 跨平台:可以运行于Windows或Linux系统上。
2. 简单易用:可以通过Python代码或类似VBA的一组方法实现UI自动化测试。
3. 支持大部分常用控件:可以与大部分Windows控件、Microsoft Office、IE等应用进行交互。
4. 活跃社区:拥有活跃的社区以及大量的文档与教程。
下面我们将深度介绍微软自动化框架的四个主要特点和使用方式。
1. 跨平台
微软自动化框架(pywinauto)可以运行于Windows或Linux系统上。这个框架使用了“控件识别器”(backend)和“控件发送器”(backend)将框架应用与UI进行交互。 控件识别器(backend)负责在UI上查找和识别控件,并为其生成句柄。 控件发送器(backend)负责向控件发送消息(例如单击、键入等)。这个结构特别适合在不同的操作系统上使用,因为每个操作系统有其自己的特定UI布局。
2. 简单易用
微软自动化框架(pywinauto)简单易用:提供了Python编程语言和一组方法来实现UI自动化测试. 您可以使用框架自带的控件识别器和控件发送器,也可以创建自己的控件识别器和控件发送器,以适应您的测试需求。 包括了一些实用功能,如截图,录像,UI分析等。而且,相较于Selenium等框架,微软自动化框架(pywinauto)使用简单,API自然所以易于掌握。
3. 支持各类控件
微软自动化框架(pywinauto)可以与大部分Windows控件交互,如按钮,文本框,菜单,表格等。同时,可以与Microsoft Office套件 (如Word、Excel等)进行交互,甚至可以与Internet Explorer等浏览器进行交互。这种类型的交互可以在很多实际应用场景中被广泛使用,使得框架具有很高的实用价值。
4. 活跃社区
由于微软自动化框架(pywinauto)的使用非常简单,社区活跃,即使您没有使用它,您也可以在网上找到大量的文档和教程以及解释、说明和示例。
下面我们将介绍使用微软自动化框架(pywinauto)的三个主要步骤。
1. 安装微软自动化框架(pywinauto)
首先在控制台中输入如下代码安装微软自动化框架:
```
pip install pywinauto
```
安装成功后,你可以开始使用微软自动化框架(pywinauto)。
2. 控件识别
在使用微软自动化框架(pywinauto)之前,必须识别应用程序窗口中的控件。框架提供了两种不同的技术识别控件:
- win32functions模块
- 其他第三方UI识别器。
第一种方法适用于大多数Windows应用,而第二种方法应用于一些特定的应用。
下面,我们将讨论关于第一种方法的一些重要事项。
在pywinauto中,**应用窗口**是调用UI元素的根对象。要获得应用窗口,您需要访问**应用程序句柄**。在Python中,使用应用程序的名称和窗口标题获得它,如下所示:
```py
from pywinauto import application
app = application.Application()
app.start(r"notepad.exe")
main_window = app.Notepad
```
在上面的示例中,我们启动了Notepad应用程序,在获得的应用程序对象 (app.Notepad) 中可以找到 UI 元素。现在,您已经获得了Notepad应用程序的应用程序句柄,我们可以通过运行以下代码来检索Notepad应用程序中的控件句柄:
```py
dlg = app.top_window()
ctrl = dlg.child_window(title="Editor", control_type="Edit")
```
在上面的示例中,调用`dlg = app.top_window()`获得顶层窗口,然后通过调用`ctrl = dlg.child_window(title="Editor", control_type="Edit")`识别了控件。
3. 控件操作
完成控件识别后,可以使用Pywinauto执行所有标准操作(如单击、拖放、选择)并设置或获取控件属性(如读取文本)。以下是在Notepad中查找编辑器并在文本框中键入文本的演示:
```py
from pywinauto import application
app = application.Application()
app.start(r"Notepad.exe")
main_window = app.Notepad
main_window.wait('ready')
edit_box = main_window.Edit
edit_box.set_edit_text("Hello World!")
```
要在上面的代码中访问编辑文本窗口,您可以调用`main_window.Edit`。
调用`edit_box.set_edit_text("Hello World!")` 将“Hello World!”文本输入 Notepad 文本框。
这就是使用微软自动化框架(pywinauto)的简单流程。
总结
微软自动化框架是一个简单易用的框架,可以用来测试各种Windows应用程序和系统UI。在Python编程语言上提供了一组API来识别和操作控件。微软自动化框架可以轻松适应不同的应用程序和系统UI,并且拥有广泛的社区支持。 如果你喜欢我们三七知识分享网站的文章, 欢迎您分享或收藏知识分享网站文章 欢迎您到我们的网站逛逛喔!https://www.ynyuzhu.com/
发表评论 取消回复