使用测试库

测试库包含那些体现关键词,通常被称为 库关键字 实际上,这与系统交互 测试。 所有测试用例总是从一些库,使用关键字 通过高级 用户的关键字 。 本节解释如何 考虑测试库的使用和如何使用的关键字 提供的。 创建测试库 描述在一个单独的吗 部分。

导入库

测试库通常使用进口 图书馆 设置, 但也可以使用 导入库 关键字。

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

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

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

robotframework笔记12的更多相关文章

  1. 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...

  2. Ext.Net学习笔记12:Ext.Net GridPanel Filter用法

    Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...

  3. SQL反模式学习笔记12 存储图片或其他多媒体大文件

    目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点:     1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...

  4. JAVA自学笔记12

    JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流 ...

  5. golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题

    golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...

  6. Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建

    Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...

  7. 强化学习读书笔记 - 12 - 资格痕迹(Eligibility Traces)

    强化学习读书笔记 - 12 - 资格痕迹(Eligibility Traces) 学习笔记: Reinforcement Learning: An Introduction, Richard S. S ...

  8. Python3+Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)

    #!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)'''from ...

  9. springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定

    springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定 标签: springmvc springmvc学习笔记12-springmvc注解开发之包装类型參数绑定 需求 实现方 ...

随机推荐

  1. 在vs中怎样一次性的添加一个文件夹到解决方案里

    这个方法通常用到编译源码库方面,在这里我以编译静态库为例: 1.首先建立自己的工程Mytest 第二步 选择静态库 点击finish 完成工程的建立 第三步 点击PROJECT菜单项 选中Show A ...

  2. SqlSever基础 一个条件group by 一列有两个内容,分组并查看每个内容有多少行,并用as起名

    镇场诗:---大梦谁觉,水月中建博客.百千磨难,才知世事无常.---今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ ...

  3. VS2015使用技巧 打开代码片段C#部分

    镇场诗: 大梦谁觉,水月中建博客.百千磨难,才知世事无常. 今持佛语,技术无量愿学.愿尽所学,铸一良心博客.------------------------------------------ 1. ...

  4. 一次Linux系统被攻击的分析过程

    IT行业发展到现在,安全问题已经变得至关重要,从最近的“棱镜门”事件中,折射出了很多安全问题,信息安全问题已变得刻不容缓,而做为运维人员,就必须了解一些安全运维准则,同时,要保护自己所负责的业务,首先 ...

  5. .Net连接数据库-曾,删,改,查(AOD.Net)

    连接数据库 static void Main(string[] args) { //SqlConnection conn = new SqlConnection();//实例化 //conn.Conn ...

  6. C#中Struct与Class的区别

    class和struct最本质的区别是class是引用类型,而struct是值类型,它们在内存中的分配情况有所区别. 什么是class? class(类)是面向对象编程的基本概念,是一种自定义数据结构 ...

  7. [HDOJ3911]Black And White(线段树,区间合并)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3911 题意:一个01串,两种操作: 0 a b:查询[a,b]内连续1的最长长度. 1 a b:翻转[ ...

  8. 【VB6笔记-01】 读取Excel绑定到DataGrid

    Private Sub cmdOpen_Click() CommonDialog1.Filter = "Excel???t(*.xlsx)|*.xlsx" CommonDialog ...

  9. yii::app(); 怎么得到module、controller、action的名字

    $module = Yii::app()->controller->module->id; $controller = Yii::app()->controller->i ...

  10. shell script针对参数已经有配置好变量名称

    /path/to/scriptname opt1 opt2 opt3 opt4 $ $ $ $ $ 这样够清楚了吧?运行的脚本档名为 $0 这个变量,第一个接的参数就是 $1 啊- 所以,只要我们在 ...