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 不打包,核心框架。

通用和定制库显然也可以实现团队使用 机器人框架。 看到 创建测试库 部分的更多信息 关于这个话题。

不同的外部库可以有一个完全不同的机制 安装并投入使用。 有时他们可能也需要 其他一些依赖项单独安装。 所有的库 要有明确的安装和使用文档和他们应该吗 最好是安装过程自动化。

原文地址:https://www.cnblogs.com/kuihua/p/5397339.html