Robotframework 从报告中删除日志信息并将报告保存在所需位置

Robotframework 从报告中删除日志信息并将报告保存在所需位置,robotframework,Robotframework,我是robot框架的新手,我想看看是否可以为自定义报告获取任何简单的代码。我对我的问题的答案也很满意。我检查了所有和报告有关的问题,但找不到任何具体的答案。目前我的报告包含日志,我想看看是否可以从报告中删除日志信息并将报告保存在特定位置。我只想在我的报告中获得通过/失败信息。谁能给我举个例子,说明我如何克服这个问题?我还需要知道如何将报告保存在不同的位置。任何例子都会有帮助。先谢谢你 有一个叫做Rebot的工具,它是Robot框架的一部分 默认情况下,Robot框架创建XML报告。XML报告通过

我是robot框架的新手,我想看看是否可以为自定义报告获取任何简单的代码。我对我的问题的答案也很满意。我检查了所有和报告有关的问题,但找不到任何具体的答案。目前我的报告包含日志,我想看看是否可以从报告中删除日志信息并将报告保存在特定位置。我只想在我的报告中获得通过/失败信息。谁能给我举个例子,说明我如何克服这个问题?我还需要知道如何将报告保存在不同的位置。任何例子都会有帮助。先谢谢你

有一个叫做Rebot的工具,它是Robot框架的一部分

默认情况下,Robot框架创建XML报告。XML报告通过Rebot自动转换为HTML报告

您可以通过指定参数--outputdir(从而为输出设置不同的基本目录)来设置执行中输出文件的位置

从文档中:

可以使用绝对路径设置所有输出文件,在这种情况下,它们被创建到指定的位置,但在其他情况下,该路径被视为相对于输出目录。默认输出目录是开始执行的目录,但可以使用--outputdir(-d)选项对其进行更改。同样,使用此选项设置的路径相对于执行目录,但也可以自然地作为绝对路径给定。无论如何获得单个输出文件的路径,如果父目录不存在,则会自动创建它的父目录。 您可以自己调用Rebot来控制此转换

您还可以在测试运行后运行Rebot,以便在其他位置创建新输出

请参阅中的文档:

以下示例显示了如何将HTML报告存储在不同的位置,并且仅包含部分数据:

rebot --include smoke --name Smoke_Tests c:\results\output.xml --outputdir c:\version1.0\reports
在上面的示例中,我们处理文件c:\results\output.xml,创建一个名为Smoke\u Tests的新报告,该报告只包含带有标记Smoke的测试,并将其保存到输出文件夹c:\version1.0\reports

此外,还可以通过执行设置日志文件(HTML)的位置

命令行选项--log(-l)确定在何处创建日志文件

命令行选项--report(-r)确定报表文件的创建位置

删除日志行的方式可能有点不同。如果运行rebot--help,您将获得以下选项:

--removekeywords all|passed|for|wuks|name: * Remove keyword data from all generated outputs. Keywords containing warnings are not removed except in `all` mode. all: remove data from all keywords passed: remove data only from keywords in passed test cases and suites for: remove passed iterations from for loops wuks: remove all but the last failing keyword inside `BuiltIn.Wait Until Keyword Succeeds` name:: remove data from keywords that match the given pattern. The pattern is matched against the full name of the keyword (e.g. 'MyLib.Keyword', 'resource.Second Keyword'), is case, space, and underscore insensitive, and may contain `*` and `?` as wildcards. Examples: --removekeywords name:Lib.HugeKw --removekeywords name:myresource.* --flattenkeywords for|foritem|name: * Flattens matching keywords in all generated outputs. Matching keywords get all log messages from their child keywords and children are discarded otherwise. for: flatten for loops fully foritem: flatten individual for loop iterations name:: flatten matched keywords using same matching rules as with `--removekeywords name:` --removekeywords all | passed | for | wuks | name:*删除关键字数据 从所有生成的输出。关键词包含 除非在“全部”模式下,否则不会删除警告。 全部:从所有关键字中删除数据 已传递:仅从已传递的关键字中删除数据 测试用例和套件 for:从for循环中删除传递的迭代 wuks:除去最后一个失败的关键字以外的所有关键字 在“BuiltIn”内。等待关键字成功` 名称::从匹配的关键字中删除数据 给定的模式。模式匹配 针对关键字的全名(例如。 “MyLib.Keyword”、“resource.Second关键字”), 不区分大小写、空格和下划线, 并且可以包含作为通配符的“*”和“?”。 示例:--removekeywords名称:Lib.HugeKw --removekeywords名称:myresource* --展平| foritem | name的关键字:*展平匹配的关键字 在所有生成的输出中。匹配关键字获取全部 记录来自其子关键字和子关键字的消息 否则将被丢弃。 for:完全展平循环 foritem:为循环迭代展平单个 名称::使用相同的名称展平匹配的关键字 将规则与 `--移除关键字名称:`
谢谢你的回复。我正在使用RIDE实现自动化,所以不知道是否可以在脚本中设置它。我尝试了rebot--include smoke--name smoke\u Tests c:\results\output.xml,但它仍然在默认位置生成。我尝试了以下示例:rebot--include smoke--name smoke\u Tests c:\mylocation\reports\results\output.xml我已经编辑了答案。更新了示例,并展示了从执行到执行后设置位置的多种方法。谢谢。我尝试使用下面的代码,但它并没有在特定目录中创建报告。rebot c:\results\output.xml--outputdir c:\RunTestSuite\Reports我尝试使用此rebot--name smoke\u Tests c:\RunTestSuite\output.xml--outputdir c:\RunTestSuite\Reports,但不起作用。它只是默认创建的。