Поместите файлы отчета в пользовательскую папку в конце выполнения - PullRequest
1 голос
/ 22 января 2020

В конце каждого выполнения робота я хочу поместить файлы: Log. xml, Report. xml, Output. xml в уникальный каталог с метками времени.

Мой скрипт помечает временные метки файлов, но я не очень хочу этого, просто имена файлов по умолчанию в каталоге с метками времени после каждого выполнения?

Это мой текущий скрипт:

   CALL "C:\Python27\Scripts\robot.bat" --variable BROWSER:IE --outputdir C:\robot\ --timestampoutputs --name "Robot Execution" Tests\test1.robot

1 Ответ

3 голосов
/ 22 января 2020

Метка времени должна быть сгенерирована в пакетном скрипте. Robot Framework сгенерирует полный путь, если он еще не существует. Это включает в себя также все родительские папки.

Когда мы стоим на плечах великанов, этот ответ также выражается в виде ответа Переполнение стека , в котором на приведенной ниже панели сценария отображаются последние две строки

@echo off
SETLOCAL ENABLEDELAYEDEXPANSION
:: put your desired field delimiter here.
:: for example, setting DELIMITER to a hyphen will separate fields like so:
:: yyyy-MM-dd_hh-mm-ss
::
:: setting DELIMITER to nothing will output like so:
:: yyyyMMdd_hhmmss
::
SET DELIMITER=%1

SET DATESTRING=%date:~-4,4%%DELIMITER%%date:~-7,2%%DELIMITER%%date:~-10,2%
SET TIMESTRING=%TIME%
::TRIM OFF the LAST 3 characters of TIMESTRING, which is the decimal point and hundredths of a second
set TIMESTRING=%TIMESTRING:~0,-3%

:: Replace colons from TIMESTRING with DELIMITER
SET TIMESTRING=%TIMESTRING::=!DELIMITER!%

:: if there is a preceeding space substitute with a zero
SET DATETIMESTAMP=%DATESTRING%_%TIMESTRING: =0%

CALL robot --variable BROWSER:IE --outputdir ./%DATETIMESTAMP%/ --name "Robot Execution" ./test.robot 
...