0

Jython v2.5 RobotFramework v2.7.5 Log4j v1.2.16

辞書をログに記録するリスナーとしてJythonスクリプトがありますが、辞書のようにpprintモジュールvariablesによってきれいに印刷されません。attributes

私はBuiltIn().get_variables()関数を使用して、変数辞書を次のように取得しています。

def start_suite(self, name, attributes):
    self.LOGGER.info('<<<start_suite>>>')        
    self.LOGGER.debug('variables @ start suite: %s' % pprint.pformat(BuiltIn().get_variables()))
        self.LOGGER.debug('attributes @ start suite: %s' % pprint.pformat(attributes))

しかし、これはログの出力です:

2013-05-29 08:03:11,493 [51a618afdf08ff6296260098] DEBUG [NativeMethodAccessorImpl] - variables scoped at start suite: {'${outputdir}': u'/mypath/', '${outputfile}': 'NONE', '${reportfile}': 'NONE', '${none}': None, '${prevtestmessage}': '', '${suitemetadata}': {}, '${suitedocumentation}': '', '${\\n}': '\n', '${/}': '/', '${true}': True, '${:}': ':', '${suitesource}': u'/mypath/source', '${space}': ' ', u'${environment}': u'sit', '${suitename}': u'MySuite', '${debugfile}': 'NONE', '${null}': None, '${logfile}': 'NONE', '${prevteststatus}': '', '${tempdir}': u'/tmp', '${execdir}': u'mypath3', '${prevtestname}': '', '${false}': False, '@{empty}': (), '${empty}': ''}
2013-05-29 08:03:11,499 [51a618afdf08ff6296260098] DEBUG [NativeMethodAccessorImpl] - attributes @ start suite: {'doc': '',
 'longname': u'BcvDocumentImageRequestTest',
 'metadata': {},
 'source': u'/robotRoot/MyTest',
 'starttime': '20130529 08:03:11.224',
 'suites': [u'MyTest', u'MyTest'],
 'tests': [],
 'totaltests': 2}
4

1 に答える 1

2

あなたが観察し、ドキュメントに記載されているように(あいまいではありますが)、BuiltIn().get_variables()辞書を返しませんが、辞書のようなオブジェクトを返します-きれいに印刷するには、そこから辞書を取得する必要があります:

dict(BuiltIn().get_variables().items())
于 2013-05-30T08:55:09.823 に答える