robot API笔记1

时间:2022-09-29 22:00:51

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笔记&lpar;一&rpar;:环境配置(基于python3)&plus;在pycharm中编写及运行robot脚本

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

  9. UICollectionView基础API笔记

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

随机推荐

  1. C&plus;&plus;中重定义的问题——问题的实质是声明和定义的关系以及分离式编译的原理

    这里的问题实质是我们在头文件中直接定义全局变量或者函数,却分别在主函数和对应的cpp文件中包含了两次,于是在编译的时候这个变量或者函数被定义了两次,问题就出现了,因此,我们应该形成一种编码风格,即: ...

  2. 基于Opencv和Mfc的图像处理增强库GOCVHelper&lpar;索引&rpar;

    GOCVHelper(GreenOpen Computer Version Helper )是我在这几年编写图像处理程序的过程中积累下来的函数库.主要是对Opencv的适当扩展和在实现Mfc程序时候的 ...

  3. csuoj 1111&colon; 三家人

    acm.csu.edu.cn/OnlineJudge/problem.php?id=1111 1111: 三家人 Time Limit: 1 Sec  Memory Limit: 128 MBSubm ...

  4. BZOJ 1708&colon; &lbrack;Usaco2007 Oct&rsqb;Money奶牛的硬币

    1708: [Usaco2007 Oct]Money奶牛的硬币 Description 在创立了她们自己的政权之后,奶牛们决定推广新的货币系统.在强烈的叛逆心理的驱使下,她们准备使用奇怪的面值.在传统 ...

  5. Java爬虫,信息抓取的实现(转)

    转载请注明出处:http://blog.csdn.net/lmj623565791/article/details/23272657 今天公司有个需求,需要做一些指定网站查询后的数据的抓取,于是花了点 ...

  6. Chapter 15&lowbar;0 模块和包

    通常,Lua不会设置规则,相反会提供很多强有力的机制来使开发者有能力实现出最适应的规则. 然而,这种方法对于模块就不行了.模块系统的一个主要目标是允许以不同的形式来共享代码. 但若没有一项公共的规则就 ...

  7. MySQL SQL优化——分片搜索

    DELIMITER $$ DROP PROCEDURE IF EXISTS `test_release`.`Sp_JP_A_NotifyBegin`$$ CREATE DEFINER=`encysys ...

  8. asp&period;net core 2&period;0集成signalr

    在博客园也很多年了,一直未曾分享过什么东西,也没有写过博客,但自己也是汲取着博客园的知识成长的: 这两天想着不能这么无私,最近.NET CORE貌似挺流行的,闲来无事也自己搞了个asp.net cor ...

  9. Codeforces Round&num;402&lpar;Div&period;1&rpar;掉分记&plus;题解

    哎,今天第一次打div1 感觉头脑很不清醒... 看到第一题就蒙了,想了好久,怎么乱dp,倒过来插之类的...突然发现不就是一道sb二分吗.....sb二分看了二十分钟........ 然后第二题看了 ...

  10. &lbrack;django&rsqb;django缓存

    发现搞了全局缓存后,刷新得不到最新数据了. 还好有过期时间 redis常用: https://www.cnblogs.com/fansik/p/5483060.html django-redis缓存: ...