【问题标题】:remove log information from report and save report in desire location从报告中删除日志信息并将报告保存在所需位置
【发布时间】:2015-02-14 05:20:30
【问题描述】:

我是机器人框架的新手,想看看我是否可以获得任何用于自定义报告的简单代码。我也很好回答我的问题。我浏览了与报告相关的所有问题,但找不到任何具体的问题答案。目前我的报告包含日志,想看看我是否可以从报告中删除日志信息并将报告保存在特定位置。我只想在我的报告中获得通过/失败信息。谁能给我举个例子,我可以如何克服这个问题?我还需要知道如何将我的报告保存在不同的位置。任何示例都会有所帮助。先感谢您。

【问题讨论】:

    标签: robotframework


    【解决方案1】:

    有一个名为 Rebot 的工具,它是 Robot Framework 的一部分。

    默认情况下,Robot Framework 创建 XML 报告。 XML 报告由 Rebot 自动转换为 HTML 报告。

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

    来自文档:

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

    您也可以在运行测试后运行 Rebot,以便在不同的位置创建新的输出。

    请参阅以下文档: http://robotframework.org/robotframework/latest/RobotFrameworkUserGuide.html#post-processing-outputs

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

    rebot --include smoke --name Smoke_Tests c:\results\output.xml --outputdir c:\version1.0\reports
    

    在上面的示例中,我们处理文件 c:\results\output.xml,创建一个名为 Smoke_Tests 的新报告,其中仅包含带有标签的测试,并将其保存到输出文件夹 c:\version1.0\reports

    此外,您还可以从执行中设置日志文件(HTML)的位置。

    命令行选项 --log (-l) 确定日志文件的创建位置。

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

    删除日志行可能会有所不同。如果你运行 rebot --help 你会得到以下选项:

    --removekeywords all|passed|for|wuks|name: * 删除关键字数据 从所有生成的输出。关键字包含 警告不会被删除,除非在 `all` 模式下。 all:从所有关键字中删除数据 传递:仅从传递的关键字中删除数据 测试用例和套件 for:从 for 循环中删除传递的迭代 wuks:删除除最后一个失败关键字之外的所有关键字 在`BuiltIn.Wait until Keyword Succeeds`里面 name:: 从匹配的关键字中删除数据 给定的模式。模式匹配 针对关键字的全名(例如 'MyLib.Keyword', 'resource.Second Keyword'), 不区分大小写、空格和下划线, 并且可能包含 `*` 和 `?` 作为通配符。 示例:--removekeywords name:Lib.HugeKw --removekeywords name:myresource.* --flattenkeywords for|foritem|name: * 展平匹配的关键字 在所有生成的输出中。匹配关键字获取所有 记录来自其子关键字和子项的消息 否则被丢弃。 for:完全展平 for 循环 foritem:展平单个 for 循环迭代 name:: 使用相同的扁平化匹配的关键字 匹配规则与 `--删除关键字名称:`

    【讨论】:

    • 感谢您的回复。我正在使用 RIDE 进行自动化,所以想知道是否可以在我的脚本中设置它。
    • 我尝试使用 rebot --include smoke --name Smoke_Tests c:\results\output.xml 但它仍然在默认位置生成。我尝试了以下示例: rebot --include smoke --name Smoke_Tests c:\mylocation\reports\results\output.xml
    • 我已经编辑了答案。更新了示例,并展示了从执行到执行后设置位置的多种方法。
    • 谢谢。我尝试使用以下代码,但它没有在特定目录中创建报告。 rebot c:\results\output.xml --outputdir c:\RunTestSuite\Reports
    • 我试过这个 rebot --name smoke_Tests C:\RunTestSuite\output.xml --outputdir C:\RunTestSuite\Reports 但没有工作。它只是默认创建的。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多