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. Bug2算法的实现(RobotBASIC环境中仿真)

    移动机器人智能的一个重要标志就是自主导航,而实现机器人自主导航有个基本要求--避障.之前简单介绍过Bug避障算法,但仅仅了解大致理论而不亲自动手实现一遍很难有深刻的印象,只能说似懂非懂.我不是天才,不 ...

  2. Why And When To Use Pre-Update and Pre-Insert Triggers In Oracle Forms

    Whenever we commit after entering data in Oracle Forms, many triggers fires during this event and al ...

  3. Create Custom Modal Dialog Windows For User Input In Oracle Forms

    An example is given below to how to create a modal dialog window in Oracle Forms for asking user inp ...

  4. Mybatis+struts2+spring整合

    把student项目改造成ssm  struts2 +mybatis+spring 1,先添加spring支持:类库三个,applicationContext.xml写在webinf下四个命名空间,监 ...

  5. SAP传输系统TMS、开发类、传输请求

    声明:原创作品,转载时请注明文章来自SAP师太技术博客( 博/客/园www.cnblogs.com):www.cnblogs.com/jiangzhengjun,并以超链接形式标明文章原始出处,否则将 ...

  6. SQL Group By/Having

    有时候需要检查DataBase里面是不是存在重复的数据,那么比较常用的就是通过Group By来进行分组,然后Having出来,如下: ))

  7. hdu 3934&&poj 2079 (凸包+旋转卡壳+求最大三角形面积)

    链接:http://poj.org/problem?id=2079 Triangle Time Limit: 3000MS   Memory Limit: 30000K Total Submissio ...

  8. 学习python得到方向与主体

    Python的主体内容大致可以分为以下几个部分: 面向过程.包括基本的表达式,if语句,循环,函数等.如果你有任何一个语言的基础,特别是C语言的基础,这一部分就是分分钟了解下Python规定的事.如果 ...

  9. 自定义NSLog宏输出

    根据编译条件,Debug时输出带行号的日志,Release时关闭日志 /* XCode LLVM XXX - Preprocessing中Debug会添加 DEBUG=1 标志 */ #ifdef D ...

  10. Codeforces Round #135 (Div. 2) E. Parking Lot 线段数区间合并

    E. Parking Lot time limit per test 2 seconds memory limit per test 256 megabytes input standard inpu ...