python ui 自动化工具 uiautomation

前言

实习的生活真的就是打杂啊,不是测试人员却要搞这一块东西。开始时带着一点点抗拒慢慢地熟悉起来,后来发现python uiautomation 自动化非常有意思,可以做很多你想象不到的事情,特此记录一下。

简介

uiautomation 是在 GitHub 上的一个开源项目项目地址。总体来说,uiautomation 可以在 windows 平台模拟鼠标和键盘操作。安装的话,可以直接 pip install 。

具体使用

分为两步

第一步 检索目标 UI 界面上的所有的控件

一般来说我会使用命令

automation.py c –r –d1 –t0 -n

要执行这个命令,当然你首先要在 python 的安装目录下找到 automation.py 这个脚本,找到之后在 doc 窗口中执行。执行该命令后,并不会直接输出控件信息,该命令会留出 3 秒钟的时间
在这里插入图片描述
让你找到你希望分析的目标 UI 界面,在这三秒钟内你只要让你要分析的目标 UI 界面获得焦点即可。
python ui 自动化工具 uiautomation_第1张图片
在分析结果中可以看到 ControlType 和 Name,这两个是我们控制 UI 界面最关心的属性。

第二步 在代码中寻找控件

GitHub 上的 doc 上列举了两种方法,一种是自己根据 Name 属性一层一层地往下找,一种是直接让程序自己深度搜索,这种方法需要制定搜索的最大深度,为了简便,我一般使用后者。如下代码所示就是找Nameshow的 目录树节点,搜索深度 search_depth为 5。

item = demo.TreeItemControl(searchDepth=5, Name="show")

找到控件之后就可以对其控制了,其开放的控制接口有很多,比如说单机,双击,拖拽之类,还可以直接修改内容。

生活中可以用来做啥?

自动修改一些必须在 UI 界面操作的事情。除了 uiautomation 作者举的批量修改 pdf 书签名称之类的,感觉应该还是有很多其他事情可以做的。

你可能感兴趣的:(python)