【Python札记】【AutoIt】- 构建基于标准化控件的UI自动化测试框架

【Python笔记】【AutoIt】-- 构建基于标准化控件的UI自动化测试框架

一直没有找到好的GUI的自动化测试框架,之前打算利用.NET中的UIAutomation做,利用C#编写自己的测试框架。但是后来由于种种原因,选择了AutoIt,因其易上手配合C#,Python,Ruby等编写UI自动化将变得不是那么复杂。这里对Python结合AutoIt编写自动化用例做一个简单的介绍:

首先,需要安装Python和AutoIt Package,

  • 安装Python可参考:
  • 安装AutoIt Package(如果安装了pip):
pip install autoit   #详细内容可以参考 https://pypi.python.org/pypi/PyAutoIt/

其次,利用autoit编写自动化用例 ,实例如下:(利用autoit)

 

# -*- coding: utf-8 -*-

#此用例在Win10中文版下测试通过,由于没有做本地化处理,在编写程序时,应该特别注意语言的匹配

import autoit
import time

autoit.run("notepad.exe")
time.sleep(2)
autoit.win_activate("无标题 - 记事本")
autoit.send("{LSHIFT}")
time.sleep(2)
autoit.send("#Process finished with exit code 0.",1)
time.sleep(2)
autoit.win_close("无标题 - 记事本")
autoit.win_activate("记事本")
time.sleep(2)
autoit.control_click("记事本","保存(&S)")
time.sleep(2)
autoit.win_activate("另存为")
autoit.control_set_text("另存为","[CLASS:Edit; INSTANCE:1]","myTest.py")
time.sleep(2)
autoit.control_click("另存为","保存(&S)")

 

再次,利用autoit进行高级编程,可参考AutoIt Help文档,目前遇到的较复杂的使用场景非标准空间,无法获取并处理相应的元素。如果有人熟悉,还请多多指导。