t.me/atinfo_chat Telegram группа по автоматизации тестирования

проверка имени файла


(kom) #1

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

${fileSuffix}=    Get Time      year,month,day
 

а потом проверить, что есть файл с датой в своем имени:

file should exist  ${fileSuffix}.dat

Но вот время никак не проверишь, ведь секунды точно не будут совпадать, как бы проверить только дату, и что после даты идут любые символы? Как сказать роботу, что может быть, допустим 6 любых символов?

file should exist  ${fileSuffix}??????.dat

 


(Mykhailo Poliarush) #2

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

http://robotframework.googlecode.com/hg/doc/libraries/OperatingSystem.html?r=2.7.4#List Directory

@{items} = List Directory ${TEMPDIR}    
@{files} = List Files In Directory /tmp *.txt absolute
${count} = Count Files In Directory ${CURDIR} ???

 


(kom) #3

спасибо, интересный вариант, т.е. вместо *.txt можно указать ${fileSuffix}??????.dat например


(Mykhailo Poliarush) #4

да, можно указать паттерн с ? и *


(kom) #5

этот вариант не совсем подходит, т.к. папка находится на удаленном сервере, этот кейворд похоже смотрит в локальных папках.

Мне вобщем-то и не нужно смотреть сам файл, есть запись с именем файла в таблице, вот ее и нужно проверить

UPD: удалось проверить с помощью кейворда Should Match


(Mykhailo Poliarush) #6

ну если надо было проверять на удаленном компьютере, то надо было просто использовать другую библиотеку

я мыслей читать не умею, потому ответил на то что видел :)

но я зато рад, что у вас получилось, и буду жать что вы выложите сюда ваше решение, для того чтобы другие увидили как это можно решить

если вдруг столкнутся с такой же проблемой


(kom) #7

Should Match    ${FILE_NAME}    ${date}_??????

вот так и удалось проверить, этот кейворд воспринимает знаки вопроса как любой символ