【新书连载19】Robot Framework 自动化测试精解——常见的被测系统

2021年3月11日 274点热度 0人点赞 0条评论

图片

出品 | 51Testing软件测试网


常见的被测系统
图片
图片


日常生活中我们遇到的被测系统不外乎本地应用程序、远程服务器上运行的后台服务系统、Web系统、安卓或苹果手机上的App等。本章将介绍几种常见的被测系统。


图片
01

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-autoitlibraryDownloading ******files.pythonhosted***/packages/4e/a4/9e51fe35b1da7a006b773c9c234f78e89bcc4f267152c4e9fa8260631fa8/robotframework-autoitlibrary-1.2.2.zip (701kB)100% |████████████████████████████████████████| 706kB 276kB/sCollecting pywin32 (from robotframework-autoitlibrary)Downloading https://files.pythonhosted.org/packages/83/cc/2e39fa39b804f7b6e768a37657d75eb14cd917d1f43f376dad9f7c366ccf/pywin32-224-cp27-cp27m-win_amd64.whl (7.4MB)100% |████████████████████████████████████████| 7.4MB 330kB/sCollecting pillow (from robotframework-autoitlibrary)Downloading https://files.pythonhosted.org/packages/f1/72/9e48d90b01f8968e31a05fb9903a5626a42a67f7a831963e880ba90de65f/Pillow-5.3.0-cp27-cp27m-win_amd64.whl (1.5MB)100% |████████████████████████████████████████| 1.5MB 310kB/sInstalling collected packages: pywin32, pillow, robotframework-autoitlibraryRunning setup.py install for robotframework-autoitlibrary ... doneSuccessfully 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比较简单,这里不赘述。


... ...

点击阅读原文查看独家连载


图片
“阅读原文”,查看本书连载内容!

图片

52960【新书连载19】Robot Framework 自动化测试精解——常见的被测系统

这个人很懒,什么都没留下

文章评论