机器人框架' Output.xml'复制到其他文件夹

时间:2017-12-26 06:06:15

标签: robotframework

当我尝试复制文件' Output.xml'从父文件夹到目标文件夹,它没有被正确复制,即:目标文件夹中的文件大小不同。我正在执行关键字以复制我的套件拆解中的文件。该问题的任何解决方案。

写入复制文件的代码:

OperatingSystem.Copy Files  ${sProjectPath}//output.xml  ${sFinalFolder}

4 个答案:

答案 0 :(得分:3)

问题是在测试运行时,输出文件不存在。套件拆解时不能存在,因为套件拆解的结果必须是日志的一部分。

如果您需要另一个文件夹中的日志,最简单的解决方案是告诉机器人最初使用命令行选项--output--outputdir将其写入。

如果你不能使用.p-5 img { ... } ,也许简单的解决方案是创建一个运行测试的脚本,然后在运行后复制文件。用户指南中标题为Creating start-up scripts的部分中提到了这一点。

稍微复杂的解决方案是使用listener来复制--output方法中的文件。

答案 1 :(得分:0)

机器人运行报告最后由机器人框架工具创建。因此,即使在套件拆解中也不存在完整的结果/报告文件。

最佳做法是提供带有所需输出目录的输出参数。 您可以从用户指南中找到更多详细信息 {3.5}

下的Robot framework user Guide

注意: 命令行选项--output(-o)确定相对于输出目录创建输出文件的路径。运行测试时,输出文件的默认名称是output.xml。

替代方法是用于 rebot 命令,并对机器人运行生成的输出文件执行操作。 使用Rebot对输出进行后处理时,除非明确使用--output选项,否则不会创建新的输出文件。

答案 2 :(得分:-2)

是否可以从Robot Framework脚本完成,问题是它应该从Robot Script完成。当前的Robot Framework进程可以锁定和更改这些文件。如果不是今天,这很可能成为该领域未来任何变化的一部分。

有了这个观点,我只能建议在Robot Framework启动之前复制这些文件,而不是之后。这可确保这些文件的内容不会更改,并且符合您的目的。

由于这些类型的操作通常不属于测试用例场景,因此我认为它们是总体业务流程的一部分。这包括从版本控制软件中获取正确版本的测试脚本,启动Robot Framework,传达结果(例如电子邮件)和保护测试证据(日志文件和其他文件)。

一般来说,这些是CI工具中的标准步骤功能,如Jenkins,Travis CI或Bamboo(仅举几例)。即使您只是从这条路径开始,将这种逻辑与测试脚本分开也会为您节省大量精力。

答案 3 :(得分:-2)

看起来复制文件Kw 在拆解期间不会复制output.xml的内容,尽管它会创建具有相同名称的文件。正如A.Kootstra所说,它目前可能是一个限制。

<强>替代: 在单独的机器人脚本中,您可以重命名文件&#39; output.xml&#39;从第一个脚本生成,然后可以在命令

下运行

复制文件$ {sProjectPath} // output.xml $ {sFinalFolder}

这会复制整个内容