简体   繁体   English

通过 Rebot 模型在机器人框架中生成两个 log.html 文件时出错

[英]error while generating two log.html files in robot framework by Rebot model

I am trying to generate an error log html by “rebot” package of robot framework and its getting generated successfully.我正在尝试通过机器人框架的“rebo​​t”包生成错误日志 html 并成功生成。 But if I use the rebot function in my module then its affect default log and report html which gets generated after script execution.但是,如果我在我的模块中使用 rebot 函数,那么它会影响脚本执行后生成的默认日志和报告 html。

[ ERROR ] Unexpected error: AttributeError: 'NoneType' object has no attribute 'encode'
Traceback (most recent call last):
  File "/usr/local/lib/python3.5/dist-packages/robot/utils/application.py", line 83, in _execute
    rc = self.main(arguments, **options)
  File "/usr/local/lib/python3.5/dist-packages/robot/run.py", line 445, in main
    result = suite.run(settings)
  File "/usr/local/lib/python3.5/dist-packages/robot/running/model.py", line 248, in run
    self.visit(runner)
  File "/usr/local/lib/python3.5/dist-packages/robot/model/testsuite.py", line 161, in visit
    visitor.visit_suite(self)
  File "/usr/local/lib/python3.5/dist-packages/robot/model/visitor.py", line 87, in visit_suite
    suite.tests.visit(self)
  File "/usr/local/lib/python3.5/dist-packages/robot/model/itemlist.py", line 76, in visit
    item.visit(visitor)
  File "/usr/local/lib/python3.5/dist-packages/robot/model/testcase.py", line 74, in visit
    visitor.visit_test(self)
  File "/usr/local/lib/python3.5/dist-packages/robot/running/runner.py", line 159, in visit_test
    self._output.end_test(ModelCombiner(test, result))
  File "/usr/local/lib/python3.5/dist-packages/robot/output/output.py", line 59, in end_test
    LOGGER.end_test(test)
  File "/usr/local/lib/python3.5/dist-packages/robot/output/logger.py", line 183, in end_test
    logger.end_test(test)
  File "/usr/local/lib/python3.5/dist-packages/robot/output/console/verbose.py", line 51, in end_test
    self._writer.status(test.status, clear=True)
  File "/usr/local/lib/python3.5/dist-packages/robot/output/console/verbose.py", line 114, in status
    self._clear_status()
  File "/usr/local/lib/python3.5/dist-packages/robot/output/console/verbose.py", line 124, in _clear_status
    self._write_info()
  File "/usr/local/lib/python3.5/dist-packages/robot/output/console/verbose.py", line 90, in _write_info
    self._stdout.write(self._last_info)
  File "/usr/local/lib/python3.5/dist-packages/robot/output/console/highlighting.py", line 51, in write
    self._write(console_encode(text, stream=self.stream))
  File "/usr/local/lib/python3.5/dist-packages/robot/utils/encoding.py", line 60, in console_encode
    return string.encode(encoding, errors).decode(encoding)

The error message is rather clear.错误信息比较清楚。 It looks like you're trying to encode a variable which contains a None instead of a string.看起来您正在尝试对包含None而不是字符串的变量进行编码。 You need to make sure that this variable always contains a string and handle cases where something else is inside.您需要确保此变量始终包含一个字符串并处理其中包含其他内容的情况。 You can do it for example using the try ... except statement.例如,您可以使用try ... except语句来执行此操作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM