Fork me on GitHub

应用软件的自动化测试

因项目需求,需要做客户端的自动化测试,因此展开了调研和学习

之前打算利用.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")

posted @ 2018-03-01 15:59  安晴  阅读(466)  评论(0)    收藏  举报