前言
实习的生活真的就是打杂啊,不是测试人员却要搞这一块东西。开始时带着一点点抗拒慢慢地熟悉起来,后来发现python uiautomation 自动化非常有意思,可以做很多你想象不到的事情,特此记录一下。
简介
uiautomation 是在 GitHub 上的一个开源项目项目地址。总体来说,uiautomation 可以在 windows 平台模拟鼠标和键盘操作。安装的话,可以直接 pip install 。
具体使用
分为两步
第一步 检索目标 UI 界面上的所有的控件
一般来说我会使用命令
automation.py c –r –d1 –t0 -n
要执行这个命令,当然你首先要在 python 的安装目录下找到 automation.py 这个脚本,找到之后在 doc 窗口中执行。执行该命令后,并不会直接输出控件信息,该命令会留出 3 秒钟的时间
让你找到你希望分析的目标 UI 界面,在这三秒钟内你只要让你要分析的目标 UI 界面获得焦点即可。
在分析结果中可以看到 ControlType 和 Name,这两个是我们控制 UI 界面最关心的属性。
第二步 在代码中寻找控件
GitHub 上的 doc 上列举了两种方法,一种是自己根据 Name 属性一层一层地往下找,一种是直接让程序自己深度搜索,这种方法需要制定搜索的最大深度,为了简便,我一般使用后者。如下代码所示就是找Name
为 show
的 目录树节点,搜索深度 search_depth
为 5。
item = demo.TreeItemControl(searchDepth=5, Name="show")
找到控件之后就可以对其控制了,其开放的控制接口有很多,比如说单机,双击,拖拽之类,还可以直接修改内容。
生活中可以用来做啥?
自动修改一些必须在 UI 界面操作的事情。除了 uiautomation 作者举的批量修改 pdf 书签名称之类的,感觉应该还是有很多其他事情可以做的。