Robot Framework框架之使用ride运行用例时,在console log中报AttributeError: 'Output' object has no attribute '_xmllogger'

一、问题描述

在RIDE中执行用例后,在在console log中会提示AttributeError: 'Output' object has no attribute '_xmllogger'

[ ERROR ] Calling method 'log_message' of listener 'D:\robotproject\venv\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py' failed: AttributeError: 'Output' object has no attribute '_xmllogger'

在使用pip命令,查询出安装的RF版本等信息

pip list

二、原因分析

经过查询,在官网也有人发现此类问题,具体原因是在Robot Framework框架中,使用RIDE时出现的错误信息“Calling method 'log_message' of listener '\lib\site-packages\robotide\contrib\testrunner\TestRunnerAgent.py ' failed: AttributeError: 'Output' object has no attribute '_xmllogger'”通常与版本兼容性问题有关。

这个错误是由于Robot Framework 7与RIDE 2.0.8.1版本不兼容导致的。具体来说,当使用Robot Framework 7时,RIDE会尝试调用TestRunnerAgent.py 中的log_message方法,但该方法在Robot Framework 7中不存在,因为TestRunnerAgent.py 中的代码可能是在Robot Framework 6或更早版本中编写的。

此外,证据表明,当使用Python 3.11和Robot Framework 7时,也会遇到类似的问题,因此建议将Robot Framework版本从7.0降级到6.1.1来解决这个问题

Robot Framework版本从7.0降级到6.1.1的命令如下所示:

#先升级一下pip
pip install --upgrade pip

#卸载之前的版本
pip uninstall robotframework

#安装指定版本
pip install robotframework==6.1.1

更新后,再执行用例,可以发现恢复正常

三、参考

  1. 官方建议:https://forum.robotframework.org/t/ride-calling-method-log-message-of-listener-testrunneragent-py-failed-attributeerror-output-object-has-no-attribute-xmllogger/6755
posted @ 2024-08-28 11:06  xyztank  阅读(43)  评论(0编辑  收藏  举报