我正在使用Robot Framework来运行50个测试用例。每次按预期创建以下三个文件:
c:\users\<user>\appdata\local\output.xml
c:\users\<user>\appdata\local\log.html
c:\users\<user>\appdata\local\report.html
但是当我运行相同的机器人文件时,这些文件将被删除,并且将创建新的日志文件。
我希望将来保留所有以前的运行日志。日志文件应保存在具有时间戳值的文件夹中。
注意:我正在从命令提示符(pybot test.robot)运行机器人文件。不是来自RIDE。
有人可以指导我吗?
答案 0 :(得分:3)
机器人框架用户指南的标题为Timestamping output files的部分介绍了如何执行此操作。
来自文档:
本节中列出的所有输出文件都可以使用选项--timestampoutputs(-T)自动加上时间戳。使用此选项时,格式为YYYYMMDD-hhmmss的时间戳放在每个文件的扩展名和基本名称之间。例如,下面的示例将创建输出文件,如output-20080604-163225.xml和mylog-20080604-163225.html:
robot --timestampoutputs --log mylog.html --report NONE tests.robot
要指定文件夹,用户指南,Output Directory下的Different Output Files部分中也会记录此文件夹:
...默认输出目录是从中开始执行的目录,但可以使用--outputdir(-d)选项进行更改。使用此选项设置的路径再次相对于执行目录,但自然也可以作为绝对路径给出...
你可以写一个执行两个职责的脚本(在python,bash,powershell等中):
然后您只需使用此帮助程序脚本,而不是直接调用pybot。
答案 1 :(得分:0)
在执行结束时,我很难确定如何创建带有时间戳的目录。这是我的脚本,它为文件加上时间戳,但是我真的不想要吗,只是每次执行后带有时间戳的目录中的默认文件名?
CALL "C:\Python27\Scripts\robot.bat" --variable BROWSER:IE --outputdir C:\robot\ --timestampoutputs --name "Robot Execution" Tests\test1.robot
答案 2 :(得分:0)
用户可以通过更新下面提到的文件夹中Settings.py文件中键“ OutputDir”的值来更新pycharm IDE中机器人框架的默认输出文件夹。
.. ProjectDirectory \ venv \ Lib \ site-packages \ robot \ conf \ settings.py
将 cli_opts字典中的'outputdir'键值更新为“ str(os.getcwd())+” // Results // Report “ + datetime.datetime。 _BaseSettings(object)类别的now()。strftime(“%d%b%Y_%H%M%S”)“
_cli_opts = {
# Update the abspath('.') to the required folder path.
# 'OutputDir' : ('outputdir', abspath('.')),
'OutputDir' : ('outputdir', str(os.getcwd()) + "//Results//Report_" + datetime.datetime.now().strftime("%d%b%Y_%H%M%S") + "//"),
'Report' : ('report', 'report.html'),
答案 3 :(得分:0)