Python Pybot-将测试库打印语句重定向到控制台
测试机器人Python Pybot-将测试库打印语句重定向到控制台,python,logging,robotframework,Python,Logging,Robotframework,测试机器人 *** Settings *** Library roppie *** Test Cases *** Log Test Robot Print roppie.py def robot_print(): print "this is a testlib log for robot test - Test.robot" 现在,当我运行pybot Test.robot时,打印语句将打印在log.html中。但我感兴趣的是在控制台stdout stream中看到这些打印语句
*** Settings ***
Library roppie
*** Test Cases ***
Log Test
Robot Print
roppie.py
def robot_print():
print "this is a testlib log for robot test - Test.robot"
现在,当我运行pybot Test.robot
时,打印语句将打印在log.html中。但我感兴趣的是在控制台stdout stream中看到这些打印语句
由于log.html有很多文本标记,我更喜欢在控制台上将日志消息视为纯文本。如何配置此功能?Robot重新定义了
sys.stdout
。这在robot framework用户指南中的标签部分中提到(请参阅副标题“登录到控制台”)
另一个选项(仅适用于Python)是编写
使用此选项时发送给sys.\uu stdout\uuuu或sys.\uuu stderr\uuuuuuu的消息
方法时,消息会立即写入控制台,而不会
完全写入日志文件
例如:
import sys
def robot_print():
sys.__stdout__.write("this is a testlib log for robot test - Test.robot")
或者,如果您“不喜欢这种类似java的打印语句…”(根据您对原始问题的评论),您可以临时重新分配sys.stdout
:
def robot_print():
pybot_stdout = sys.stdout
sys.stdout = sys.__stdout__
print "this is a testlib log for robot test - Test.robot"
sys.stdout = pybot_stdout
Robot重新定义了
sys.stdout
。《Robot框架用户指南》中标签部分提到了这一点(请参阅副标题“登录到控制台”)
另一个选项(仅适用于Python)是编写
使用此选项时发送给sys.\uu stdout\uuuu或sys.\uuu stderr\uuuuuuu的消息
方法时,消息会立即写入控制台,而不会
完全写入日志文件
例如:
import sys
def robot_print():
sys.__stdout__.write("this is a testlib log for robot test - Test.robot")
或者,如果您“不喜欢这种类似java的打印语句…”(根据您对原始问题的评论),您可以临时重新分配sys.stdout
:
def robot_print():
pybot_stdout = sys.stdout
sys.stdout = sys.__stdout__
print "this is a testlib log for robot test - Test.robot"
sys.stdout = pybot_stdout
Robot重新定义了
sys.stdout
。《Robot框架用户指南》中标签部分提到了这一点(请参阅副标题“登录到控制台”)
另一个选项(仅适用于Python)是编写
使用此选项时发送给sys.\uu stdout\uuuu或sys.\uuu stderr\uuuuuuu的消息
方法时,消息会立即写入控制台,而不会
完全写入日志文件
例如:
import sys
def robot_print():
sys.__stdout__.write("this is a testlib log for robot test - Test.robot")
或者,如果您“不喜欢这种类似java的打印语句…”(根据您对原始问题的评论),您可以临时重新分配sys.stdout
:
def robot_print():
pybot_stdout = sys.stdout
sys.stdout = sys.__stdout__
print "this is a testlib log for robot test - Test.robot"
sys.stdout = pybot_stdout
Robot重新定义了
sys.stdout
。《Robot框架用户指南》中标签部分提到了这一点(请参阅副标题“登录到控制台”)
另一个选项(仅适用于Python)是编写
使用此选项时发送给sys.\uu stdout\uuuu或sys.\uuu stderr\uuuuuuu的消息
方法时,消息会立即写入控制台,而不会
完全写入日志文件
例如:
import sys
def robot_print():
sys.__stdout__.write("this is a testlib log for robot test - Test.robot")
或者,如果您“不喜欢这种类似java的打印语句…”(根据您对原始问题的评论),您可以临时重新分配sys.stdout
:
def robot_print():
pybot_stdout = sys.stdout
sys.stdout = sys.__stdout__
print "this is a testlib log for robot test - Test.robot"
sys.stdout = pybot_stdout
但我感兴趣的是在控制台stdout stream中看到这些打印语句
为此,我使用内置库。
例如:
但我感兴趣的是在控制台stdout stream中看到这些打印语句
为此,我使用内置库。
例如:
但我感兴趣的是在控制台stdout stream中看到这些打印语句
为此,我使用内置库。
例如:
但我感兴趣的是在控制台stdout stream中看到这些打印语句
为此,我使用内置库。
例如:
如何
sys.stdout.write(“这是robot test-test.robot的testlib日志”)
?这很复杂…我不喜欢这种类似java的打印语句…它不是“类似java的打印语句”这是你写给标准输出的方式。Ironman,你的评论对我很有帮助,谢谢……但我正在努力理解,robot框架是如何重定向打印语句的,以及打印处理程序是如何配置的?明白了,对不起。你能添加你正在使用的pybot吗?我搜索谷歌,发现它与你所拥有的不一样。如何sys.stdout.write(“这是robot test-test.robot的testlib日志”)
?这很复杂…我不喜欢这种类似java的打印语句…它不是“类似java的打印语句”这是你写给标准输出的方式。Ironman,你的评论对我很有帮助,谢谢……但我正在努力理解,robot框架是如何重定向打印语句的,以及打印处理程序是如何配置的?明白了,对不起。你能添加你正在使用的pybot吗?我搜索谷歌,发现它与你所拥有的不一样。如何sys.stdout.write(“这是robot test-test.robot的testlib日志”)
?这很复杂…我不喜欢这种类似java的打印语句…它不是“类似java的打印语句”这是你写给标准输出的方式。Ironman,你的评论对我很有帮助,谢谢……但我正在努力理解,robot框架是如何重定向打印语句的,以及打印处理程序是如何配置的?明白了,对不起。你能添加你正在使用的pybot吗?我搜索谷歌,发现它与你所拥有的不一样。如何sys.stdout.write(“这是robot test-test.robot的testlib日志”)
?这很复杂…我不喜欢这种类似java的打印语句…它不是“类似java的打印语句”这是你写给标准输出的方式。Ironman,你的评论对我很有帮助,谢谢……但我试图理解,robot框架是如何重定向打印语句的,以及打印处理程序可以被配置的?明白了,抱歉。你能添加你正在使用的pybot吗?我在谷歌搜索,发现它与你的不一样。