Python 如何在robot.api中调用侦听器类?

Python 如何在robot.api中调用侦听器类?,python,robotframework,Python,Robotframework,我有一组测试套件,它们是使用robot.api执行的 比如说, from robot.api import TestSuite,ResultWriter tc_dict = { 'test case #1' : 'Passed' 'test case #2' : 'Failed' } suite = TestSuite('tests_with_listener.robot') for k,v in tc_dict.items(

我有一组测试套件,它们是使用robot.api执行的

比如说,

from robot.api import TestSuite,ResultWriter
tc_dict = {
            'test case #1' : 'Passed'
            'test case #2' : 'Failed'
           }
suite = TestSuite('tests_with_listener.robot')
for k,v in tc_dict.items():
    test = suite.tests.create(k)
    test.keywords.create('should be equal',args=(tc_dict[k],'Passed'))
result = suite.run(output=xml_fpath)
在robot.api中是否有任何方法可以执行以下代码


robot-b debug.txt——监听器使用监听器进行测试。robot

在注释的文档中,可以找到以下注释:

与命令行入口点相关的API通过 机器人根包


参考文件为或

在注释的文档中,可以找到以下注释:

与命令行入口点相关的API通过 机器人根包


参考文件为或

最后,在浏览了robot框架的源代码之后,我终于找到了答案。解决方案很简单,但在robot.api文档中没有很好的文档记录

从RF源代码的
run(settings=None,**options)
TestSuite类中的方法

如果使用了
选项
,则它们的名称与长命令行相同 选项,但不带连字符,并且它们也具有相同的语义。 可以在命令行中多次提供选项 作为列表传递,如
variable=['VAR1:value1','VAR2:value2']
。 如果该选项仅使用一次,则也可以作为单个选项提供 类似于
variable='VAR:value'
的字符串


最后,在浏览了robot框架的源代码之后,我终于得到了答案。解决方案很简单,但在robot.api文档中没有很好的文档记录

从RF源代码的
run(settings=None,**options)
TestSuite类中的方法

如果使用了
选项
,则它们的名称与长命令行相同 选项,但不带连字符,并且它们也具有相同的语义。 可以在命令行中多次提供选项 作为列表传递,如
variable=['VAR1:value1','VAR2:value2']
。 如果该选项仅使用一次,则也可以作为单个选项提供 类似于
variable='VAR:value'
的字符串


我尝试使用robot.run_cli执行,但它引发了以下异常。你曾经遇到过这样的问题吗<代码>文件“/usr/local/lib/python2.7/site packages/robot/utils/encoding.py”,第93行,在system_decode返回字符串中。decode(system_encoding)AttributeError:“TestSuite”对象没有属性“decode”虽然这是一个公平的问题,但这确实是一个关于实现的新问题。我的建议是尝试一下,如果你遇到了自己无法解决的问题,就针对你所处的情况提出一个新的问题。提供您正在处理的代码的代码示例,类似于本问题中的示例,这将为良好的响应提供基础方法无法运行由robot.api的
testsuite对象创建的testsuite
我尝试使用robot.run\u cli执行,但它引发以下异常。你曾经遇到过这样的问题吗<代码>文件“/usr/local/lib/python2.7/site packages/robot/utils/encoding.py”,第93行,在system_decode返回字符串中。decode(system_encoding)AttributeError:“TestSuite”对象没有属性“decode”虽然这是一个公平的问题,但这确实是一个关于实现的新问题。我的建议是尝试一下,如果你遇到了自己无法解决的问题,就针对你所处的情况提出一个新的问题。提供您正在处理的代码的代码示例,类似于本问题中的示例,这将为良好的响应提供基础。问题在于
run\u cli()
方法无法运行robot.api的
testsuite对象创建的testsuite
from robot.api import TestSuite,ResultWriter
tc_dict = {
            'test case #1' : 'Passed'
            'test case #2' : 'Failed'
           }
suite = TestSuite('tests_with_listener.robot')
for k,v in tc_dict.items():
    test = suite.tests.create(k)
    test.keywords.create('should be equal',args=(tc_dict[k],'Passed'))
result = suite.run(xunit=xunit_fpath,report=html_fpath,log=log_fpath,listener='AllureReportLibrary.AllureListener')