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 不打包,核心框架。
通用和定制库显然也可以实现团队使用 机器人框架。 看到 创建测试库 部分的更多信息 关于这个话题。
不同的外部库可以有一个完全不同的机制 安装并投入使用。 有时他们可能也需要 其他一些依赖项单独安装。 所有的库 要有明确的安装和使用文档和他们应该吗 最好是安装过程自动化。
robotframework笔记12的更多相关文章
- 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...
- Ext.Net学习笔记12:Ext.Net GridPanel Filter用法
Ext.Net学习笔记12:Ext.Net GridPanel Filter用法 Ext.Net GridPanel的用法在上一篇中已经介绍过,这篇笔记讲介绍Filter的用法. Filter是用来过 ...
- SQL反模式学习笔记12 存储图片或其他多媒体大文件
目标:存储图片或其他多媒体大文件 反模式:图片存储在数据库外的文件系统中,数据库表中存储文件的对应的路径和名称. 缺点: 1.文件不支持Delete操作.使用SQL语句删除一条记录时,对应的文 ...
- JAVA自学笔记12
JAVA自学笔记12 1.Scanner 1)JDK5后用于获取用户的键盘输入 2)构造方法:public Scanner(InputStream source) 3)System.in 标准的输入流 ...
- golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题
golang学习笔记12 beego table name `xxx` repeat register, must be unique 错误问题 今天测试了重新建一个项目生成新的表,然后复制到旧的项目 ...
- Spring MVC 学习笔记12 —— SpringMVC+Hibernate开发(1)依赖包搭建
Spring MVC 学习笔记12 -- SpringMVC+Hibernate开发(1)依赖包搭建 用Hibernate帮助建立SpringMVC与数据库之间的联系,通过配置DAO层,Service ...
- 强化学习读书笔记 - 12 - 资格痕迹(Eligibility Traces)
强化学习读书笔记 - 12 - 资格痕迹(Eligibility Traces) 学习笔记: Reinforcement Learning: An Introduction, Richard S. S ...
- Python3+Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)
#!/usr/bin/env python# -*- coding:utf-8 -*-'''Selenium3+webdriver学习笔记12(js操作应用:滚动条 日历 内嵌div)'''from ...
- springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定
springmvc学习笔记(12)-springmvc注解开发之包装类型參数绑定 标签: springmvc springmvc学习笔记12-springmvc注解开发之包装类型參数绑定 需求 实现方 ...
随机推荐
- 高通Android平台硬件调试之Camera篇
之前一段时间有幸在高通android平台上调试2款camera sensor,一款是OV的5M YUV sensor,支持jpeg out,同时也支持AF,调试比较比较简单,因为别的项目已经在使用了, ...
- Spring的"Hello, world",还有"拿来主义"
这里有两个类: com.practice包下的SpringTest.java和PersonService.java. Spring可以管理任意的POJO(这是啥?),并不要求Java类是一个标准的Ja ...
- Simulating a Fetch robot in Gazebo
Installation Before installing the simulation environment, make sure your desktop is setup with a st ...
- xml语法、DTD约束xml、Schema约束xml、DOM解析xml
今日大纲 1.什么是xml.xml的作用 2.xml的语法 3.DTD约束xml 4.Schema约束xml 5.DOM解析xml 1.什么是xml.xml的作用 1.1.xml介绍 在前面学习的ht ...
- MVC3远程验证
public class StudentModel { [Display(Name="学生编号")] public int StuId { set; get; } [Require ...
- [poj2286]The Rotation Game (IDA*)
//第一次在新博客里发文章好紧张怎么办 //MD巨神早已在一个小时前做完了 The Rotation Game Time Limit: 15000MS Memory Limit: 150000K To ...
- namespace使用总结
1.防止引用文件中函数名相同,导致函数重定义错误: //test1.php <?php namespace foo; function func(){ echo "test1/func ...
- ie8不支持transform: translateY,ie9支持不友好
transform: translateY(0); ie8 不支持这个属性 但是我觉得用css实现的效果特好 特自然 也许是我的脚本写的不够完善 呵呵 现在我希望其他 主流的浏览器应用CSS ...
- JS 和 Java 中URL特殊字符编码方式
前几天遇到url特殊字符编码的问题,在这里整理一下: JavaScript 1. 编码 escape(String) 其中某些字符被替换成了十六进制的转义序列. 解码 unescape(String ...
- mysql 主主复制的配置流程
1.先关闭B,把A的数据导出来,mysqldump -hlocalhost -uroot -p123456 --database ibprpu >ibprpu.sql2.关闭A,启动B,进入my ...