常见的被测系统——自动化测试精解(19)

发表于:2021-1-25 09:48

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:刘云    来源:51Testing软件测试网原创

  第6章 常见的被测系统
  日常生活中我们遇到的被测系统不外乎本地应用程序、远程服务器上运行的后台服务系统、Web系统、安卓或苹果手机上的App等。本章将介绍几种常见的被测系统。
  6.1 Windows GUI应用程序
  第一种常见的被测系统是Windows图形用户界面(Graphical User Interface,GUI)应用程序,它是指运行在Windows操作系统上的具有图形用户界面的本地应用程序。Windows操作系统自带的计算器程序就是一个典型的Windows GUI应用程序。Robot Framework提供了AutoItLibrary来专门测试这类程序。
  6.1.1 安装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
    bcc4f267152c4e9fa8260631fa8/robotframework-autoitlibrary-1.2.2.zip (701kB)
      100% |████████████████████████████████████████| 706kB 276kB/s
  Collecting pywin32 (from robotframework-autoitlibrary)
    Downloading https://files.pythonhosted.org/packages/83/cc/2e39fa39b804f7b6e768a37657d7
    5eb14cd917d1f43f376dad9f7c366ccf/pywin32-224-cp27-cp27m-win_amd64.whl (7.4MB)
      100% |████████████████████████████████████████| 7.4MB 330kB/s
  Collecting pillow (from robotframework-autoitlibrary)
    Downloading https://files.pythonhosted.org/packages/f1/72/9e48d90b01f8968e31a05fb9903a
    5626a42a67f7a831963e880ba90de65f/Pillow-5.3.0-cp27-cp27m-win_amd64.whl (1.5MB)
      100% |████████████████████████████████████████| 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的使用方法和所有可用的关键字。
  6.1.2 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比较简单,这里不赘述。

版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号