如何使用 Robot Framework 在控制台输出中添加颜色
How can I put colors in console output with Robot Framework
我想在 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!
)
(我也尝试了一个 \
和 3[31m, 3[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}
但是 none 有效:'(
请问您的总体目标是什么?只是输出不同颜色的随机文本吗?
以下是我在不同的测试用例上轻松发出 PASS/FAIL 等信号以使其脱颖而出的方法:
--monitorcolors ansi
在您 运行 测试套件的命令中,将以上内容包含在命令的开头。
由于 Robot Framework 对“\”的解释,Log To Console \033[31mRed Text\033[0m
不会为输出着色。
要解决这个问题,你必须Evaluate
登录控制台之前的变量:
${message}= Evaluate "\033[31mRed Text\033[0m"
Log To Console ${message}
我最终得到了下面的解决方案,我发现它相当 "clean":
*** 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...
然后,您只需在 Suite/Test Case Setup 中使用 previous 关键字,就可以像下面这样为输出着色:
Log To Console ${cyan}Some Text in cyan and a ${red}${variable}${cyan} in red${default}
我想在 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!
)
(我也尝试了一个 \
和 3[31m, 3[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}
但是 none 有效:'(
请问您的总体目标是什么?只是输出不同颜色的随机文本吗?
以下是我在不同的测试用例上轻松发出 PASS/FAIL 等信号以使其脱颖而出的方法:
--monitorcolors ansi
在您 运行 测试套件的命令中,将以上内容包含在命令的开头。
由于 Robot Framework 对“\”的解释,Log To Console \033[31mRed Text\033[0m
不会为输出着色。
要解决这个问题,你必须Evaluate
登录控制台之前的变量:
${message}= Evaluate "\033[31mRed Text\033[0m"
Log To Console ${message}
我最终得到了下面的解决方案,我发现它相当 "clean":
*** 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...
然后,您只需在 Suite/Test Case Setup 中使用 previous 关键字,就可以像下面这样为输出着色:
Log To Console ${cyan}Some Text in cyan and a ${red}${variable}${cyan} in red${default}