4.1创建测试库 Robot Framework的实际测试功能由测试库提供.有许多现有的库,其中一些甚至与核心框架捆绑在一起,但仍然经常需要创建新的库.这个任务并不复杂,因为正如本章所示,Robot Framework的库API简单明了. 4.1.1简介 支持的编程语言 不同的测试库API 4.1.2创建测试库类或模块 测试库名称 为测试库提供参数 测试库范围 指定库版本 4.1.3创建静态关键字 哪些方法被视为关键字 关键字名称 关键字参数 关键字的默认值 可变数量的参数 参数类型 4.1.4…
04- 创建测试库--基础概念 Robot Framework 实际的测试能力是由测试库提供的. ***** 支持的编程语言 Robot Framework 自身是用 Python 编写的,能使用 Python 扩展测试库. 如果在 Jython 运行Robot Framework 的话,那么测试库也可以用 Java 来实现. 也可以通过 Python C API 使用 C 语言来实现测试库. ***** 不同的测试库 API Robot Framework 有三种不同的测试库 API:   -…
4.2远程库接口 远程库接口提供了在运行Robot Framework本身的机器上运行测试库的方法,以及使用除本机支持的Python和Java之外的其他语言实现库的方法.对于测试库,用户远程库看起来与任何其他测试库几乎相同,使用远程库接口开发测试库也非常接近于创建普通测试库. 4.2.1简介 使用远程库API有两个主要原因: 与运行Robot Framework的机器不同,可以在不同的机器上安装实际库.这为分布式测试提供了有趣的可能性 可以使用支持XML-RPC协议的任何语言来实现测试库 .Ro…
4.3使用监听器接口 Robot Framework有一个侦听器接口,可用于接收有关测试执行的通知.监听器是具有某些特殊方法的类或模块,它们可以用Python和Java实现.监听器接口的示例用法包括外部测试监视器,在测试失败时发送邮件消息以及与其他系统通信. 4.3.1使用听众 使用--listener 选项从命令行使用监听器,以便将监听器的名称作为参数提供给它.侦听器名称来自实现侦听器接口的类或模块的名称,类似于从实现它们的类获取测试库名称.指定的侦听器必须位于导入导入时搜索测试库的同一模块搜…
最近项目迁移到别的机器上进行开发,启动Django的时候,有如下提示: Creating test database for alias 'default' 其实这个可能是在Django启动按钮的设置上选择了启动的时候创建测试库,只要去掉钩就可以 将打开的编辑框,按照如下配置即可:…
4.4扩展Robot Framework Jar 使用标准JDK安装中包含的jar命令,可以非常简单地向Robot Framework jar添加其他测试库或支持代码.Python代码必须放在jar里面的Lib目录中,根据包结构,Java代码可以直接放在jar的根目录下. 例如,要将Python包mytestlib添加到jar,首先将mytestlib目录复制到 名为Lib的目录下,然后在包含Lib的目录中运行以下命令: jar uf /path/to/robotframework-2.7.1.…
2.3.1测试用例文件 Robot Framework测试用例是使用测试用例文件中的测试用例表创建的.这样的文件会自动从它包含的所有测试用例中创建一个测试套件.可以有多少测试用例没有上限,但建议少于10个,除非使用数据驱动方法,其中一个测试用例只包含一个高级关键字. 设置表中的以下设置可用于自定义测试套件: 文档 用于指定测试套件文档 元数据 用于将测试套件元数据设置为键值对. 套件设置,套件拆解 指定套件设置和拆卸.还有同义词 Suite Precondition和Suite Postcond…
3.5创建输出 执行测试时会创建几个输出文件,并且所有这些文件都与测试结果有某种关联.本节讨论创建的输出,如何配置它们的创建位置以及如何微调其内容. 3.5.1不同的输出文件 输出目录 输出文件 日志文件 报告文件 XUnit兼容的结果文件 调试文件 时间戳输出文件 设置标题 设置背景颜色 3.5.2日志级别 可用的日志级别 设置日志级别 可见的日志级别 3.5.3拆分日志 3.5.4配置统计信息 配置显示套件统计信息 包括和排除标签统计信息 生成组合标签统计信息 从标记名称创建链接 向标签添加…
谈到Robot  Framework 分层的思想,就不得不提“关键字驱动”. 关键字驱动: 通过调用的关键字不同,从而引起测试结果的不同. 在上一节的selenium API 中所介绍的方法其实就是关键字,如“open browser” 就是一个关键字.从底层去看它就是一个通过编程去现实的一个方法. def open_browser(url,browser): #通过browser找到相应的浏览器驱动,调用浏览器,借助python的httplib.urllib模块将url传递给浏览器.从而实现o…
我的utils.py文件 #!/usr/bin/env python #-*- coding:utf8 -*- __version__ = '0.1' import sys reload(sys) sys.setdefaultencoding('utf8') from robot.api import logger import urllib2, json, re, os, random import xml.dom.minidom class Utils(): def read_xml(sel…