Как сделать отчеты динамически категоризованными в рамках робота? - PullRequest
0 голосов
/ 16 апреля 2019

Я хочу хранить отчеты в разных каталогах каждый раз, когда выполняется выполнение, но это должно выполняться динамически в самом выполнении автоматизации

указание пути к каталогу отчетов при выполнении командной строки - это не то, что я ищу, оно есть, но для ввода отчетов в определенный каталог требуется ручной ввод.

Ответы [ 3 ]

2 голосов
/ 16 апреля 2019

Другой альтернативой, которую мы можем использовать для динамического создания отчетов, является создание выходного каталога на основе текущей временной метки и генерирование результатов робота там.

Например, в приведенном ниже плагине 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 голосов
/ 16 апреля 2019

После запуска теста вы не можете изменить расположение выходов. Ваше единственное решение - использовать параметр командной строки.

1 голос
/ 17 апреля 2019

Вы можете использовать сценарий для генерации аргументов командной строки для Robot Framework, используя Чтение файлов аргументов из стандартной функции ввода .

Чтобы создать папку для отчетов на основе некоторой логики, например, назвать папку как текущее время и установить ее как выходной каталог , можно сделать что-то подобное:

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)

Вы должны выполнить свои тесты как:

python OutputDirArgumentFile.py | robot --argumentfile STDIN my_test.robot
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...