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注解开发之包装类型參数绑定 需求 实现方 ...
随机推荐
- 命名空间std引用<iostream>时使用
所谓namespace,是指标识符的各种可见范围. C++标准程序库中的所有标识符都被定义于一个名为std的namespace中,这样命名空间std内定义的所有标识符都有效. 为什么把cout等放在s ...
- drawRect导致内存暴增的真正原因
那么现在我们分析一下drawRect导致内存暴增的真正原因: 重写drawRect为何会导致内存大量上涨? 要想搞明白这个问题,我们需要撸一撸在 iOS 程序上图形显示的原理.在 iOS 系统中所有显 ...
- CodeForces 259A Little Elephant and Chess
Little Elephant and Chess Time Limit:2000MS Memory Limit:262144KB 64bit IO Format:%I64d &am ...
- SQL查看一张表中是否存在记录
今天在QQ群众讨论到一个问题,记录下下来,一边以后用的时候可以翻阅 总结除了三种方法 --方法1,,这一种方法不行,,错误的认识了,@@ROWCOUNT,,,唉,,学艺不精,,丢人啊 SELECT T ...
- 统计fastq文件中读段的数量
mycount=`cat SRR108114_new_1.fastq | wc -l` echo 'Number of clean reads, SRR108114_new_1.fastq: '$(( ...
- printf()函数
printf()函数是格式化输出函数, 一般用于向标准输出设备按规定格式输出信息. printf()函数的调用格式为: printf("<格式化字符串>", <参 ...
- 常用的STL查找算法
常用的STL查找算法 <effective STL>中有句忠告,尽量用算法替代手写循环:查找少不了循环遍历,在这里总结下常用的STL查找算法: 查找有三种,即点线面: 点就是查找目标为单个 ...
- python_way day21 Django文件上传Form方式提交,原生Ajax提交字符处啊,Django文件上传之原生Ajax方式、jQuery Ajax方式、iframe方式,Django验证码,抽屉示例,
python_way day21 1.Django文件上传至Form方式 2.原生Ajax文件上传提交表单 使用原生Ajax好处:不依赖jquery,在发送一个很小的文件或者字符串的时候就可以用原生A ...
- LINQ之路 5:LINQ查询表达式
书写LINQ查询时又两种语法可供选择:方法语法(Fluent Syntax)和查询表达式(Query Expression). LINQ方法语法的本质是通过扩展方法和Lambda表达式来创建查询.C# ...
- Win7路由器设置过程
随着应用win7系统的人越来越多,对于这个系统的应用就更多了,其中大家最关注的就是这个系统和路由器上网的问题.下面,我们就来讲解一下win7系统的路由器的设置过程. 首先打开浏览器,在地址栏输入192 ...