出品 | 51Testing软件测试网
日常生活中我们遇到的被测系统不外乎本地应用程序、远程服务器上运行的后台服务系统、Web系统、安卓或苹果手机上的App等。本章将介绍几种常见的被测系统。
Windows GUI应用程序
第一种常见的被测系统是Windows图形用户界面(Graphical User Interface,GUI)应用程序,它是指运行在Windows操作系统上的具有图形用户界面的本地应用程序。Windows操作系统自带的计算器程序就是一个典型的Windows GUI应用程序。Robot Framework提供了AutoItLibrary来专门测试这类程序。
安装AutoItLibrary
要安装AutoItLibrary,最简单的方法是用pip。首先,在PyPI网站上搜索AutoItLibrary,找到一个叫做robotframework-autoitlibrary的Robot Framework库。
另外,也可以在命令行窗口中用“pip search autoitlibrary”进行查找。在Windows命令行窗口中输入以下命令安装AutoItLibrary。
c:\> pip install robotframework-autoitlibrary
(左右滑动查看完整代码)
安装过程中会看见如下下载进度和安装结果。
Collecting robotframework-autoitlibrary
Downloading ******files.pythonhosted***/packages/4e/a4/9e51fe35b1da7a006b773c9c234f78e89
(701kB)
|████████████████████████████████████████| 706kB 276kB/s
Collecting pywin32 (from robotframework-autoitlibrary)
Downloading https://files.pythonhosted.org/packages/83/cc/2e39fa39b804f7b6e768a37657d7
(7.4MB)
|████████████████████████████████████████| 7.4MB 330kB/s
Collecting pillow (from robotframework-autoitlibrary)
Downloading https://files.pythonhosted.org/packages/f1/72/9e48d90b01f8968e31a05fb9903a
(1.5MB)
|████████████████████████████████████████| 1.5MB 310kB/s
Installing collected packages: pywin32, pillow, robotframework-autoitlibrary
Running setup.py install for robotframework-autoitlibrary ... done
Successfully installed pillow-5.3.0 pywin32-224 robotframework-autoitlibrary-1.2.2
(左右滑动查看完整代码)
如果看见上面的消息,就表示安装成功了。之后我们打开文件管理器,导航到AutoItLibrary的安装目录C:\RobotFramework\Extensions\AutoItLibrary。里面的AutoItLibrary.html介绍了AutoItLibrary的使用方法和所有可用的关键字。
Web版计算器测试示例
在Tests目录下有一个计算器测试用例,双击RobotIDE.bat就可以打开RIDE,查看AutoItLibrary中的计算器测试用例,如图6-1所示。
在左侧窗格中,根据树状目录结构,我们可以得知这个测试套件包含7个测试用例,分别测试了整数的加减乘除、十六进制数的加减以及屏幕截图功能。
在右侧窗格中,我们可以看见导入AutoItLibrary的方法。
Library AutoItLibrary ${OUTPUT DIR} 10 ${True}
(左右滑动查看完整代码)
${OUTPUT DIR}是Robot Framework中的自动变量,表示输出目录的绝对路径。而${True}是Robot Framework中的特殊变量,表示true。
这3个参数在帮助文档AutoItLibrary.html里有说明,如图6-2所示。
在右侧窗格中,除了AutoItLibrary之外,这个测试用例还引入了Collections库和String库,以及一个变量文件CalculatorGUIMap.py。这个变量文件定义了不同版本计算器中按键的对应值。
图6-1 AutoItLibrary中的计算器测试用例
图6-2 导入AutoItLibrary时的参数列表
遗憾的是,这个测试用例只能在英文版的Windows系统上运行,在中文版的Windows系统上运行时会报错,因为中文版计算器和英文版计算器界面上的文字不一致。
我们可以简单地把Windows系统的语言改成英语来调试所有测试用例。但是为了了解AutoItLibrary的用法,我们需要修改测试用例,让它能检查中文版计算器。英文和中文版本计算器的界面分别如图6-3和图6-4所示。
1.主目录的Setup和Teardown
首先,在图6-1所示界面中,在左侧窗格中,单击Calculator Test Cases目录,在右侧窗格中可以看见Suite Setup、Suite Teardown、Test Setup文本框中都有关键字,按住Ctrl键并单击可以进入相应的关键字编辑页。
Suite Setup里调用Start Calculator关键字来启动计算器。Start Calculator关键字的定义如图6-5所示。
图6-3 英文版计算器的界面
图6-4 中文版计算器的界面
图6-5 Start Calculator关键字的定义
-
第1行中,打开计算器。
-
第2行中,等待一个标题是“Calculator”的窗口打开,中文版的标题是“计算器”,所以我们改一下。
-
第3行中,调用一个用户关键字Get Calculator Version,具体功能会在后面分析。
-
第4行中,设置一个用户关键字,通过菜单切换到科学计算器。英文版中,选择View→Scientific;中文版中,选择“查看”→“科学型”。这里我们不用改成中文,因为View Scientific是按键定义文件calculatorGUIMap.py中菜单变量MENUMAP里的按键。本章稍后会讲解这个关键字。
-
第5行中,等待一个标题是Calculator并且包含Degrees的窗口出现。中文版中的标题是“计算器”,窗口中相应的字符是“度”。
-
第6行中是一些注释。
-
第7行中,发送12345给计算器。
-
第8行中,等待计算器中出现12345,并且用BuiltIn库里的Run Keyword And Ignore Error关键字,让计算器即使出现错误,也继续执行下一步操作。这里把Win Wait关键字里的“Calculator”改成“计算器”。
-
第9行中,如果失败,就通过菜单关闭数字分组,因为数字分组打开后12345会显示成“12,345”。
-
第10行中,继续检查是否出现12345。
-
第11行中,单击Clear按钮。
对于图6-5中的第3行,按住Ctrl键并单击Get Calculator Version以查看这个关键字,其定义如图6-6所示。
-
Send:表示发送键。
-
Win Wait Active:表示AutoItLibrary的一个关键字,把鼠标指针放在这个关键字上面,同时按住Ctrl键,可以看到它的作用和使用方法。它用于等待一个指定标题(About Calculator)和内容(Version)的对话框出现。根据英文版修改中文版的计算器。
-
Control Get Text:表示AutoItLibrary的一个关键字,用于获取指定对话框里某个控件的值。
-
Control Click:表示AutoItLibrary的一个关键字,用于单击指定对话框里的某个按钮。
图6-6 Get Calculator Version关键字的定义
Run Keyword If、Set Variable If、Set Suite Variable等关键字来自Robot Framework自带的BuiltIn库。关键字的命名就采用自然语言,不用查看帮助文档,只看名字也能知道它是做什么的。
单击左上角的Settings<<按钮,返回一个用户自定义关键字Select Calculator Menu Item,其定义如图6-7所示。
根据传入的字符串单击相应的按钮。这里传入的是?View Scientific,在变量文件里对应的${MENUMAP}定义的值是VS,所以做的动作就是依次按Alt键,暂停1s,然后按V、S键,最后松开Alt键,这样就能把计算器切换到科学计算器。
Suite Teardown里的关键字Stop Calculator以及Test Setup里的关键字Clear Calculator比较简单,这里不赘述。
点击阅读原文,查看独家连载
文章评论