robotframework笔记12
使用测试库
测试库包含那些体现关键词,通常被称为 库关键字 实际上,这与系统交互 测试。 所有测试用例总是从一些库,使用关键字 通过高级 用户的关键字 。 本节解释如何 考虑测试库的使用和如何使用的关键字 提供的。 创建测试库 描述在一个单独的吗 部分。
导入库
测试库通常使用进口 图书馆 设置, 但也可以使用 导入库 关键字。
使用 Library
设置
测试库通常使用进口Library设置中设置表和库名称的 随后的列。 不像大多数其他的数据,Library的名字 - - - space-sensitive既情况。 如果一个库是在一个包, 必须使用全名包括包名。
在这种情况下,图书馆需要参数,它们中列出 Library后的列名称。 可以使用默认值 值、变量数量的参数和命名参数的测试 图书馆同样与进口 参数关键字 。 这两个 库名称和参数可以设置使用变量。
*** Settings ***
Library OperatingSystem
Library my.package.TestLibrary
Library MyLibrary arg1 arg2
Library ${LIBRARY}
可以导入测试库 测试用例文件 , 资源文件 和 测试套件的初始化文件 。 在所有这些 情况下,导入的库中的所有关键字是可用的 文件。 资源文件,也可以在其他那些关键词 文件使用它们。
使用 导入库
关键字
另一个可能采取一个测试库使用使用 关键字 导入库 从 内装式Library。 这个关键字 有库名称和可能的参数同样的Library设置。 从导入的库关键字 可用的测试套件 导入库 关键字是 使用。 这种方法是有用的在这种情况下,Library不是 可用的测试执行开始时,只有一些关键词 使它变为可用。
*** Test Cases ***
Example
Do Something
Import Library MyLibrary arg1 arg2
KW From MyLibrary
指定库导入
可以通过指定库导入使用库名称 或者去Library的路。 这些方法都是以相同的方式工作 Library使用进口吗Library设置或 导入库 关键字。
使用库名称
最常见的指定一个测试库导入的方法是使用它 名字,喜欢它已经完成本节中的示例。 在 这些情况下机器人框架试图找到类或模块 实现Library的 模块搜索路径 。 库 应该在安装该模块自动搜索路径, 但与其他库搜索路径可能需要单独配置。
这种方法最大的好处是,当模块搜索 路径已经配置,通常使用一个定制的 启动脚本 , 普通用户不需要考虑在库 安装。 自己的缺点是,可能的 很简单,库搜索路径,可能需要一些 额外的配置。
使用图书馆的物理路径
另一个机制指定库导入使用 路径的文件系统。 这条路被认为是相对的 当前测试数据目录文件位于同样的路径 来 资源和变量文件 。 这种方法的主要优点 是没有需要配置模块搜索路径。
如果Library是一个文件,它必须包含扩展的路径。 为 Python库扩展自然 . py 对于Java 图书馆可以 . class 或 . java ,但 类文件必须是可用的。 如果Python库实现 作为一个目录,它必须有一个落后的道路正斜杠( /
)。 以下示例展示这些不同的用法。
*** Settings ***
Library PythonLibrary.py
Library /absolute/path/JavaLibrary.java
Library relative/path/PythonDirLib/ possible arguments
Library ${RESOURCES}/Example.class
这种方法的一个局限是,图书馆作为Python实现类 必须 在一个模块具有相同名称的类 。 此外,进口 库分布在JAR或ZIP包这种机制是不可能的。
设置自定义名称测试库
库名称显示在测试日志关键字名称之前,如果 多个关键字具有相同的名称,它们必须这样 与库名称关键字名称前缀 。 库名称 有正常的模块或类名实现它,但 有一些改变它是可取的情况:
- 需要导入相同的图书馆几次 不同的参数。 否则这是不可能的。
- 库名称不方便地长。 这可能发生 例子,如果Java库有着悠久的包名。
- 你想使用变量导入不同的库 不同的环境,但具有相同名称的引用它们。
- 图书馆的名字是误导或者贫穷。 在这种情况下, 当然,改变实际的名字是更好的解决方案。
指定新名称的基本语法的文本 用的名字
库名称,然后后(区分大小写) 新名字的下一个单元。 指定名称所示 必须使用日志和测试数据在使用关键字的全名 ( LibraryName。 关键字的名字 )。
*** Settings ***
Library com.company.TestLib WITH NAME TestLib
Library ${LIBRARY} WITH NAME MyName
可能的参数库之间放置进入细胞 原始库名称和 用的名字
文本。 下面的例子 同样说明了图书馆可以多次导入 不同的参数:
*** Settings ***
Library SomeLibrary localhost 1234 WITH NAME LocalLib
Library SomeLibrary server.domain 8080 WITH NAME RemoteLib
*** Test Cases ***
My Test
LocalLib.Some Keyword some arg second arg
RemoteLib.Some Keyword another arg whatever
LocalLib.Another Keyword
设置一个自定义的名称到一个测试库都在导入工作 图书馆设置表中,当使用 导入库 关键字。
标准库
一些测试分布式机器人框架和这些库 库被称为 标准库 。 的 内装式 图书馆是特别的, 因为它是采取自动投入使用,因此其关键字总是 可用。 其他标准库需要进口以同样的方式 与其他库,但没有需要安装它们。
正常的标准库
下面列出了可用的正常标准库的联系 文件:
- 内装式
- 集合
- DateTime
- 对话框
- 操作
- 过程
- 截图
- 字符串
- 远程登录
- XML
远程库
除了上面列出的正常标准库,有 也 远程 比其他标准库,是完全不同的 库。 它没有任何自己的关键词,但作为一个工作 机器人之间的代理框架和实际测试库的实现。 这些库可以在其他的机器上运行的核心 框架,甚至可以使用语言不支持的实现 机器人框架本身。
看到单独的 远程库接口 部分的更多信息 关于这个概念。
外部库
任何测试库,不是一个标准库, 的定义, 外部库 。 机器人框架开源社区 实现了通用的库,如 Selenium2Library 和 SwingLibrary 不打包,核心框架。
通用和定制库显然也可以实现团队使用 机器人框架。 看到 创建测试库 部分的更多信息 关于这个话题。
不同的外部库可以有一个完全不同的机制 安装并投入使用。 有时他们可能也需要 其他一些依赖项单独安装。 所有的库 要有明确的安装和使用文档和他们应该吗 最好是安装过程自动化。