Robot Framework测试数据——自动化测试精解(2)

发表于:2020-12-30 09:45

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

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

  第3章  Robot Framework测试数据
  Robot Framework测试数据可以分为3层结构,分别是测试工程(project),或叫测试主目录,测试套件(test suite),或叫测试集合,以及测试用例(test case)。除这3层基本结构外,还有用户关键字(keyword)、变量定义、变量文件、资源文件、测试子目录等,它们之间的关系如图3-1所示。
图3-1  Robot Framework测试数据的结构
  ·测试工程:测试套件的集合。一个测试工程包含一到多个测试套件,一个测试工程一般对应一个被测系统。测试工程除可以像测试套件一样,创建用户关键字和定义作用域为本目录的变量外,还可以创建资源文件和测试子目录。
  ·测试套件:在测试用例之上是测试套件,一个测试套件对应一个文件,一批相关的测试用例可以放在同一个测试套件里。测试套件下可以定义作用域为本套件的变量,以及创建用户关键字。
  ·测试用例:测试用例是具体的测试步骤,用于记录对被测系统要执行什么操作。
  ·用户关键字:基于现有的关键字,用户可以创建满足特定需求的自定义关键字。
  ·变量定义:定义一定作用域的标量(scalar)、列表(list)或字典(dictionary)变量。
  ·变量文件:一种集中的变量管理方式。变量文件是一种Python代码的格式,除定义简单的静态变量外,它还可以定义动态变量或更复杂的对象。
  ·资源文件:变量和用户关键字的集合。如果某些关键字或变量适用于多个测试套件,则可以把它们抽象出来统一放到一个资源文件里,在需要使用的测试套件里,引用这个资源文件。
  ·测试子目录:测试工程下可以创建子目录。如果一个系统包含多个模块,则一个模块可以创建一个子目录。子目录拥有和测试工程一样的特性,可以在其下创建测试套件、资源文件、变量文件以及下级子目录。
  测试工程和测试子目录在文件系统上就是一个目录文件,其下可以有一个特殊的文件“__init__.robot”用来存放与此目录相关的变量、用户关键字、初始化和退出操作等。
  一个测试套件即为一个独立的文件,用于存放测试用例、用户关键字、变量定义等。
  资源文件也是一个独立的文件,资源文件里可以存放用户关键字、变量定义信息。
  此外,还有变量文件,用于集中式的变量管理。变量文件里定义的变量可以在运行时传入而使变量能被所有测试套件访问。
  3.1  直观地认识Robot Framework测试数据
  为了对上面这些概念有直观的认识,下面用一个简单的示例一步一步地介绍这些概念。我们设想要对一个助理机器人系统做自动化测试,这个助理机器人系统提供了一些基本问题的自动回答,例如下面列举的几条。
  说:你好!
  助理机器人答:主人,早上好!(注意,机器人能自动根据时间回答“下午好”或“晚上好”。)
  问:现在几点了?
  助理机器人答:现在时刻 9:00整。
  问:今天天气怎么样?
  助理机器人答:今天早上微风,温度23℃,中午到下午晴朗,最高温度达32℃,傍晚有小到大雨,请主人出门注意防晒和准备雨具哦!
  问:Robot Framework是什么?
  助理机器人答:对不起!我现在还不能理解您在说什么,请尝试其他问题吧。
  如果我们要对这个助理机器人系统做自动化测试,首先要设计测试点。测试点大致可以分成两类:一类是正常的测试点,对助理机器人能回答的问题一对一地设计测试用例;另一类是异常的测试点,向助理机器人输入一些它不知道的问题甚至输入一些英文、特殊符号、乱码等。下面一步一步创建这些自动化测试用例。
  为了快速上手,对示例中用到的变量、关键字、if语句等可以先不用太纠结,不懂的地方先做一个记号,后面章节会详细讲解Robot Framework的语法和使用场景。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号