使用Robot Framework的内置模块
使用Python实现的测试库可以使用Robot Framework的内置模块, 例如, 获取正在执行的测试用例信息, 以及它们在使用的配置信息.
尽管这种和框架通信的机制非常强大, 但是在使用时需要格外小心, 因为并不是所有的API都是被设计来供外部调用的, 它们可能会因为版本的变化而发生巨大的改变.
可用的API
从Robot Framework 2.7版本开始, API文档 单独部署在 :Read the Docs 服务上. 如果你不确定如何使用某个特定的API, 请在 mailing list 里提问.
使用内置库
可使用的最安全的API莫过于 BuiltIn_ 库里的关键字方法. 这些关键字极少变动, 并且每次变动前先将老的用法废弃掉. 其中一个最有用的方法是 replace_variables
, 它允许访问当前可用的变量.
下面的例子说明了怎样可以获取到一个很有用的 自动变量 ${OUTPUT_DIR}
的值. 除了例子所示, 还可以在库中使用 set_test_variable
, set_suite_variable
和 set_global_variable
来设置新的变量.
- import os.path
- from robot.libraries.BuiltIn import BuiltIn
- def do_something(argument):
- output = do_something_that_creates_a_lot_of_output(argument)
- outputdir = BuiltIn().replace_variables('${OUTPUTDIR}')
- path = os.path.join(outputdir, 'results.txt')
- f = open(path, 'w')
- f.write(output)
- f.close()
- print '*HTML* Output written to <a href="results.txt">results.txt</a>'
使用 BuiltIn
中的方法唯一需要注意的一点, 所有 runkeyword
方法的变体 都需要特殊处理一下, 它们必须先调用 BuiltIn
模块中的 register_run_keyword
方法注册为 _run keywords. 具体如何使用以及为什么要这么做, 请参阅 register_run_keyword
方法的文档说明.
当前内容版权归 robotframework 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 robotframework .