Web UI 自动化时,通过 AutoIT 的解决 Windows 控件

开发 开发工具
AutoIt 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。

Selenium 进行WEB的UI自动化时经常会遇到windows弹框,比如上传、下载框时的提示框,这种弹框selenium自身是无法处理的,这时我们可以借助AutoIT这个工具。

一、介绍

AutoIt 是用以编写并生成具有 BASIC 语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。通过它可以组合使用模拟键击、鼠标移动和窗口/控件操作等来实现自动化任务。

https://www.autoitscript.com/site/autoit/downloads/。

二、下载 & 安装

这里内容分两步:

● 第一步:python环境中autoIT模块的安装,主要是为了在python代码中通过autoIT模块提供的函数等,实现各种操作的模拟。

● 第二步:PC机器上安装autoIT,主要为了方便做元素的识别。

A:python环境的安装

直接在命令行窗口通过pip安装:pip install PyAutoIt。

B:pc安装

直接去官网下载windows的安装包或解压包即可。

三、使用示例

以下载为例,在firefox浏览器上下载时默认会弹出这样的提示框,如果我们不点击其保存按钮,则不会开始下载,也无法进行其他操作。那么如何点击保存呢?

Python中点击操作交给autoIT完成,代码写成如下:

import autoitautoit.control_focus("请输入要保存的文件名…", "[Class:Button; instance:1]")autoit.control_click("请输入要保存的文件名…", "[Class:Button; instance:1]")

代码运行时,可以实现点击保存按钮,开始下载的效果。

四、代码拆解

语句:autoit.control_click("请输入要保存的文件名…", "[Class:Button; instance:1]")中。

A. autoit是我们安装的第三方模块名称。

B. control_click对应点击操作,操作函数有很多,需要时根据提示选择即可。

C. 函数参数列表,函数的第一个参数代表操作哪个窗口,通常为目标窗口的title,第二个参数代表操作哪个控件,书写方式比较多样,:如”Edit1”或"[Class:Button; instance:1]"或”[Class:Button]”等,可以综合多个属性进行元素定位。

这里涉及到一个问题,我怎么知道要操作的控件class是什么instance是什么?这种时候window里安装的autoIT就派上用场了:

打开安装目录下的:Au3Info.exe程序,通过它可以查看控件各属性:使用方法:拖动查询工具,到指定控件,然后松开鼠标,即可在左侧看到当前窗口及控件信息:

在控件选项卡中,可以查看到详细的控件信:

类别名或高级模式的内容复制出来就可以做控件识别了。 是不是也很简单那呢?

更多说明请参考官网文档:

https://www.autoitscript.com/autoit3/docs/functions.htm。

责任编辑:姜华 来源: 今日头条
相关推荐

2020-08-03 15:40:57

Web自动化工具测试

2022-05-31 15:43:15

自动化测试

2023-04-27 07:57:52

AutoIt自动化工具

2024-03-15 12:48:50

携程AI

2009-07-27 10:11:20

2015-09-16 11:13:51

ChefWindows集群运维

2013-04-12 11:02:50

WWindowsPho

2020-11-26 10:07:15

CIO首席信息官 IT自动化

2016-04-01 16:44:43

驱动中国

2021-01-05 13:10:24

Windows 10UI设计微软

2015-04-03 09:57:59

网络工程师网络自动化网络监控

2023-03-31 10:26:52

2023-03-31 10:40:22

2024-04-09 14:35:54

工业 4.0工业自动化人工智能

2012-03-01 14:35:46

ASP.NETjQuery UI

2009-12-23 16:33:34

WPF UI自动化测试

2009-12-23 16:19:25

WPF UI自动化技术

2018-01-15 10:30:00

AndroidPython 开发

2011-01-20 10:17:25

ibmdwWeb

2017-05-24 10:42:43

Web前端自动化
点赞
收藏

51CTO技术栈公众号