应用软件的自动化测试
因项目需求,需要做客户端的自动化测试,因此展开了调研和学习
之前打算利用.NET中的UIAutomation做,但是后来由于种种原因,选择了AutoIt,因其易上手配合C#,Python,Ruby等编写UI自动化将变得不是那么复杂。这里对开发的环境做一个介绍
- 环境配置python2.7+pyautoit0.4
- python 安装
下载链接:https://www.python.org/downloads/release/python-2712/
安装步骤可咨询度娘
- pyautoit安装
1、在线安装
pip install -U pyautoit #详细内容可以参考 https://pypi.python.org/pypi/PyAutoIt/
2、离线安装
下载,解压,在python的bin目录下执行命令行python setup.py install
- windows控件属性获取工具(uispy++、inspect.exe)
利用 UI Spy 工具,开发人员和测试人员将能够查看应用程序的user interface (UI) 元素并与之交互。可以查看应用程序的 UI 层次结构、属性值和引发的事件。
- 注意事项
1、有些无法获取窗口属性,可以使用autoit里的MouseClick、Send来完成点击和输入
2、从模拟按键的角度考虑,如果焦点可以切换到,可以使用tab键切换,enter键确认
3、有的窗体没有快捷键,不能切换焦点,又找不到控件信息,这时只能用模拟鼠标点击的方法了
具体使用方法参考autoit使用教程
其次,利用autoit编写自动化用例 ,实例如下:(利用autoit)
def foo(userId,pwd):
autoit.run("C:\Program Files\QandA2.0\QandA.exe")
autoit.win_wait_active("[CLASS:Qt5QWindowIcon]", 3)
#输入用户名
autoit.send("{Tab 3}")
time.sleep(1)
autoit.send(userId)
time.sleep(1)
#点击密码登录
autoit.send("+{Tab}{SPACE}")
time.sleep(1)
#输入密码
autoit.send("{Tab 2}")
time.sleep(1)
autoit.send(str(pwd))
#输入验证码
autoit.send("{Tab}")
res = request(userId)
autoit.send(rcode)
time.sleep(1)
autoit.send("{Tab 2}")
time.sleep(1)
autoit.send("{ENTER}")
time.sleep(3)
#关闭对话框
autoit.win_close("QandA")

浙公网安备 33010602011771号