我希望每次执行时都将报告保存在不同的目录中,但是应该在自动化执行本身中动态地进行
在命令行执行过程中指定报告目录路径不是我想要的,而是在其中,但是需要手动输入才能将报告放置在特定目录中。
答案 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)