robot.api 包公开的公共api机器人框架

除非另有声明,公开的api在这个包中被认为是稳定的, 从而构建外部工具时,安全使用的机器人框架。

目前暴露api:

  • logger 模块测试库的日志的目的。
  • deco 模块使用decorator测试库可以使用。
  • TestCaseFile TestDataDirectory ResourceFile 类解析测试 数据文件和目录。 此外,方便工厂方法 TestData() 要么创造 TestCaseFile 或 TestDataDirectory 基于输入的对象。
  • TestSuite 类来创建可执行 测试套件以编程方式和 TestSuiteBuilder 类 用于创建这些套件基于现有的文件系统上的测试数据。
  • SuiteVisitor 抽象类testdata进行处理 之前执行。 这可以用作基础实现跑前 为使用修饰符——prerunmodifier 命令行选项。
  • ExecutionResult() 工厂方法 阅读从XML输出文件和执行结果 ResultVisitor 抽象类来缓解 进一步的处理结果。 ResultVisitor 也可以用作基础 对于pre-Rebot纳入使用修饰符——prerebotmodifier 命令行选项。
  • ResultWriter 类写作 报告、日志、XML输出,XUnit文件。 可以编写基于结果 文件系统上的XML输出,以及基于对象的结果 返回的 ExecutionResult() 或 一个执行 TestSuite 

在命令行api相关的入口点直接接触 通过robot根包。

Submodules

robot.api.deco模块

robot.api.deco.keyword name =None 标签=() 

修饰符来设置自定义关键字名称和标记函数和方法。这个修饰符创建 robot_name 和 robot_tags 属性 装饰的关键字方法或函数。 机器人框架检查他们 分别确定关键字的名字和标签。

library.py:

@keyword(name='Login Via User Panel')
def login(username, password):
# ... @keyword(name='Logout Via User Panel', tags=['example', 'tags'])
def logout():
# ...

tests.robot:

Login Via User Panel    myusername    mypassword

如果 的名字 没有得到的实际名称关键字不 影响,但 robot_name 属性仍将被创建。 这可以用于将方法标记为关键字在动态库。 在这种用法可以在使用时也省略括号 装饰:

@keyword
def func():
# ...

robot.api.logger日志模块

公共日志API测试库。

这个模块提供了一个公共API的信息写入日志文件 和控制台。 测试库可以使用这个API:

logger.info('My message')

而不是通过标准输出的日志:

print '*INFO* My message'

除了编程接口被使用,这个API 有一个好处,日志消息有精确的时间。

如果日志方法的时使用robotFramework被没有运行, 消息重定向到标准的Python日志记录模块使用logger命名 RobotFramework 

日志级别

使用水平是可能的日志消息 跟踪 调试 信息 警告 和 错误 要么使用 write() 函数,或者更 通常,与特定的日志级别 trace() 调试() 信息() 警告() 错误() 功能。 的支持 在robotframework2.9错误级别和功能是新的。

默认情况下,跟踪和调试消息不但是可以记录 改变了的 ——loglevel 命令行选项。 警告和错误 自动写控制台和 测试执行错误 部分在日志文件中。

日志的HTML

所有方法用于写入到日志文件中有一个信息 可选 html 论点。 如果一条消息记录应该是 显示为HTML,应该设置为这个论点 真正的 。 另外, write() 接受一个伪日志级别 HTML 

例子

from robot.api import logger

def my_keyword(arg):
logger.debug('Got argument %s.' % arg)
do_something()
logger.info('<i>This</i> is a boring example.', html=True)
robot.api.logger.write(msglevel='INFO'html=False)

将消息写入日志文件使用给定的标准。

有效的日志级别 跟踪 调试 信息 (默认robotframework 2.9.1), 警告 错误 在robotframework2.9(新)。 此外它是 可以使用 HTML 伪日志级别,日志消息为HTML 使用 信息的标准

而不是使用这种方法,通常最好使用标准具体方法如 信息 和 调试 有单独的 html 参数控制消息格式。

robot.api.logger.trace(msghtml=False)

将消息写入日志文件使用 跟踪 的标准。

robot.api.logger.debug(msghtml=False)

将消息写入日志文件使用 调试 的标准。

robot.api.logger.info(msghtml=Falsealso_console=False)

将消息写入日志文件使用 信息 的标准。

如果 also_console 参数设置为 真正的 ,消息是 写日志文件和控制台。

robot.api.logger.warn(msghtml=False)

将消息写入日志文件使用 警告 的标准。

robot.api.logger.error(msghtml=False)

将消息写入日志文件使用 错误 的标准。

2.9新机器人框架。

robot.api.logger.console(msgnewline=Truestream='stdout')

写消息到控制台。

如果 换行符 参数是 真正的 一个换行符 自动添加到消息。

默认情况下,消息写入到标准输出流。 使用标准错误流可能是提供 流 参数值 “stderr” 

robot API笔记1的更多相关文章

  1. robot API笔记6

    robot.libraries 计划举办机器人框架标准测试库. 图书馆是主要用于外部的测试数据,但是他们可以 也使用自定义测试库是否有必要. 特别是 的内装式 图书馆通常是有用的 当需要与框架. 因为 ...

  2. robot API笔记5

    实现了 Libdoc 工具. 命令行Libdoc入口点和编程接口 提供的是单独的吗 robot.libdoc 模块. 这个包被认为是稳定的但不是公共API的一部分. robot.libdocpkg.L ...

  3. robot API笔记4

    robot.htmldata包 包编写HTML格式的输出文件. 这个包被认为是稳定的但不是公共API的一部分. robot.htmldata.htmlfilewriter module classro ...

  4. robot API笔记3

    robot.htmldata package 包编写HTML格式的输出文件. 这个包被认为是稳定的但不是公共API的一部分. Submodules robot.htmldata.htmlfilewri ...

  5. robot API笔记2

    robot.conf 设计方案 实现设置测试执行和输出处理. 这个方案实现了 RobotSettings 和 RebotSettings 内部使用的类 该框架. 不应该有这些类需要使用外部.这个包可以 ...

  6. Python Socket API 笔记

    将上节中的C#该成Python版的容易程度大大超出了我的意料之外.从来没有发现,仅仅用灰尘简单的几句话就实现了该程序的主要功能,可见python的简易和强大之处.这里先对SocketAPI 做一下总结 ...

  7. JS全部API笔记

    我相信对于程序猿都有做笔记的习惯. 我初学到现在也做了不少笔记,以前,总是怕写的文章或者好的内容分享出来就怕被直接copy以后更个名就不再是你的. 但通过博客园,学习到不少东西,人家都不怕什么了,我自 ...

  8. robot framework笔记(一):环境配置(基于python3)+在pycharm中编写及运行robot脚本

    (一)使用pip安装robotframework框架和seleniumlibrary库 pip install --upgrade robotframework pip install --upgra ...

  9. UICollectionView基础API笔记

    UICollectionView系列API,属性含义笔记.在UICollectionView笔记1中我们了解了UICollectionView是什么,以及可以做什么:在UICollectionView ...

随机推荐

  1. CodeForces 628B New Skateboard

    New Skateboard time limit per test 1 second memory limit per test 256 megabytes input standard input ...

  2. jQuery 判断页面元素是否存在

    if ( $("#someID").length > 0 ) {  } 根据JavaScript的经验,尝试用$("#someID") != " ...

  3. Java一些动手动脑实验

    一.Java字段初始化的规律: 输出结果为:100 和 300 当把{filed=200}放在public int field=100之后输出结果为:200 和 300 所以执行类成员定义时指定的默认 ...

  4. 分别向Set集合以及List集合中添加"A"、"a"、"c"、"C"、"a",观察重复值"a"能否添加成功

    package lianxi; import java.util.*; public class JhSet { public static void main(String[] args) { Se ...

  5. HDU 4870 Rating 概率DP

    Rating Time Limit:5000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit Statu ...

  6. c++ socket 客户端库 socks5 客户端 RudeSocket™ Open Source C++ Socket Library

    介绍 一个c++ socket 客户端库 http://www.rudeserver.com/socket/index.html The RudeSocket™ Open Source C++ Soc ...

  7. Populating Display Item Value On Query In Oracle Forms

    Write Post-Query trigger for the block you want to fetch the field value for display item.ExampleBeg ...

  8. CUBRID学习笔记 33 net事务 cubrid教程示例

    conn.BeginTransaction(); string sql = "create table t(idx integer)"; using (CUBRIDCommand ...

  9. Spark.ML之PipeLine学习笔记

    地址: http://spark.apache.org/docs/2.0.0/ml-pipeline.html   Spark PipeLine 是基于DataFrames的高层的API,可以方便用户 ...

  10. AngularJS Protractor

    官网地址:http://www.protractortest.org/ 1. 预备环境 protractor 是一个 Node.js 程序,为了运行 protractor ,你首先需要 Node 环境 ...