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:

  1. @keyword(name='Login Via User Panel')
  2. def login(username, password):
  3. # ...
  4.  
  5. @keyword(name='Logout Via User Panel', tags=['example', 'tags'])
  6. def logout():
  7. # ...

tests.robot:

  1. Login Via User Panel myusername mypassword

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

  1. @keyword
  2. def func():
  3. # ...

robot.api.logger日志模块

公共日志API测试库。

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

  1. logger.info('My message')

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

  1. print '*INFO* My message'

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

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

日志级别

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

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

日志的HTML

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

例子

  1. from robot.api import logger
  2.  
  3. def my_keyword(arg):
  4. logger.debug('Got argument %s.' % arg)
  5. do_something()
  6. 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. js与C++交互及C++解析json

    转载:http://zhidao.baidu.com/link?url=LLuWzwMmpfVcQeSGv1CrAfRXpnZaetm9xypqwMW6zxLhhKES-rITAsG0-Ku-bSMA ...

  2. merge into的用法

    merge into 是英文的一个短语,意思是汇入,合并.顾名思义,merge into是合并了insert和update操作,其执行效率要高于分别单独执行insert和update语句. //创建表 ...

  3. C++函数前和函数后加const修饰符区别

    class Test(){ public: Test(){} const int foo(int a); const int foo(int a) const; }; 一.概念 当const在函数名前 ...

  4. 关于directX最近的学习方案

    目标:弄清楚如何渲染一个地形,以及人物坐标以及摄像机方向,弄清四大矩阵原理 实践: 1.再次学习矩阵相关知识 2.实现红龙本书的地形 3.搜寻这方面资料书籍

  5. asynchronous vs non-blocking

    http://stackoverflow.com/questions/2625493/asynchronous-vs-non-blocking In many circumstances they a ...

  6. MusigCV安装

    首先,将下载的安装文件zip包,http://www.mathworks.com/products/compiler/mcr/ MCR2013a 然后依次执行下面的命令: 进入目录:cd /tmp 解 ...

  7. Nessus基本命令

    /etc/init.d/nessusd start 启动nessusd服务 默认端口8834 添加用户(未知是什么用户) sudo /opt/nessus/sbin/nessus-adduser

  8. [SAP ABAP开发技术总结]EXIT-COMMAND

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

  9. More Effective C++ (2)

    接下来的是more effective c++ 11至20条款: 11.禁止异常信息(exceptions)传递到析构函数外.析构函数的调用情况可能有两种:(1)对象正常销毁 (2)异常传播过程中的栈 ...

  10. 工具配置(eclipse/plsql)

      PLSQL 附常用配置: PrefAutomaticStatistics=True SelectedStatNames= AutoSelectSQL=True ShowSQLWindowGutte ...