我想在RobotFramework的控制台输出中添加一些颜色。
我尝试使用控制台颜色代码,如:
${message}= Set Variable hello world!
Log To Console \\e[0;36;49m${message}\\e[0;39;49m
(在linux控制台中,echo -e "\e[0;36;49mHello world!\e[0;39;49m"
以青色打印Hello world!
(我还尝试了一个\
和\033[31m, \033[0m, ...
代码)
但它不起作用......
那么,是否可以做类似的事情:
${message}= Set Variable hello world!
Log To Console ${message.red}
我找到了this module,但我没有找到任何关于如何使用它的信息:(
我试过了:
Log To Console ${message.red} robot.output.console.highlighting
和
${message}= Evaluate ${message}.red robot.output.console.highlighting
Log To Console ${message}
但没有效果:'(
答案 0 :(得分:6)
由于机器人框架对'\'的解释,Log To Console \\033[31mRed Text\\033[0m
不会对输出着色。
要解决此问题,您必须先登录Evaluate
变量才能登录到控制台:
${message}= Evaluate "\\033[31mRed Text\\033[0m"
Log To Console ${message}
我最终得到了以下解决方案,我发现它很“干净”:
*** Variables ***
${BLACK} "\\033[30m"
${RED} "\\033[31m"
# More colors ANSI codes...
*** Keywords ***
Initialize Colors
${black}= Evaluate ${BLACK}
Set Test Variable ${black}
${red}= Evaluate ${RED}
Set Test Variable ${red}
# More colors...
然后,您只需在套件/测试用例设置中使用上一个关键字,就可以将输出着色如下:
Log To Console ${cyan}Some Text in cyan and a ${red}${variable}${cyan} in red${default}
答案 1 :(得分:1)
以下是我在不同的测试用例中轻松发出PASS / FAIL等信号以使其脱颖而出的方法:
--monitorcolors ansi
在运行测试套件的命令中,将上述内容包含在命令的开头。