如何使报告在机器人框架中动态分类?

时间:2019-04-16 10:15:43

标签: python-2.7 robotframework

我希望每次执行时都将报告保存在不同的目录中,但是应该在自动化执行本身中动态地进行

在命令行执行过程中指定报告目录路径不是我想要的,而是在其中,但是需要手动输入才能将报告放置在特定目录中。

3 个答案:

答案 0 :(得分:2)

一旦测试开始运行,您将无法更改输出的位置。您唯一的解决方案是使用命令行选项。

答案 1 :(得分:2)

我们可以用来动态生成报告的另一种方法是,根据当前时间戳创建输出目录,并在那里生成Robot结果。

例如,在下面的Maven robotframework插件中,“ outputDirectory” 标签具有将存储机器人结果的位置。由于此位置带有时间戳,因此每次运行的机器人都会在不同目录中生成报告。

<plugin>
    <groupId>org.robotframework</groupId>
    <artifactId>robotframework-maven-plugin</artifactId>
    <version>1.4.7</version>
    <executions>
        <execution>
            <goals>
                <goal>run</goal>
            </goals>
        </execution>
    </executions>
    <configuration>
        <testCasesDirectory>
            ....
        </testCasesDirectory>
        <variableFiles>
            <variableFiles>....</variableFiles>
        </variableFiles>
        <outputDirectory>/myloca/reports/${maven.build.timestamp}/</outputDirectory>
        <libdoc/>
        <testdoc/>
    </configuration>
</plugin>

答案 2 :(得分:1)

您可以使用脚本使用Reading argument files from standard input功能为Robot Framework生成命令行参数。

要基于某种逻辑为报表创建文件夹,例如,将该文件夹命名为当前时间并将其设置为output directory,可以执行以下操作:

While True:
    df['Difference'] = (df['DEPTH(ft)'].diff() < 0)
    if any(df.Difference):
        df.drop(df[df['Difference']].index, inplace=True)
    else:
        break

您必须执行以下测试:

import datetime
import os

time = datetime.datetime.now().strftime("%Y-%m-%d_%H-%M-%S")

dirpath = str(time)

if not os.path.exists(dirpath):
    os.makedirs(dirpath)

print('--outputdir ' + dirpath)
相关问题