Откройте файл XML, не зная полного имени, и проанализируйте xml - PullRequest
1 голос
/ 19 марта 2020

Я использую роботизированную среду с RIDE, и для теста мне нужно найти файл XML на моем компьютере и открыть его, чтобы проанализировать xml и иметь возможность использовать данные. Дело в том, что я не знаю точное имя файла; формат: число NameOfTheFile, поэтому это может быть 1NameOfTheFile или 25NameOfTheFile. Как я могу использовать regexp в своем ключевом слове? Или любой другой способ добиться этого?

Спасибо

1 Ответ

0 голосов
/ 20 марта 2020

Как бы вы сделали это вручную - как бы вы выбрали файл, который будет использоваться для проверки?
Полагаю, вы посмотрите на все файлы, которые соответствуют указанному шаблону c имени; в Robot Framework вы можете сделать это с ключевым словом OperatingSystem List Files In Directory, которое поддерживает передачу шаблона имени:

${the files}=    List Files In Directory    /the/path/to/the/dir   *NameOfTheFile.xml

Теперь у вас есть объект списка с совпадающими именами файлов; если он пуст - такого файла нет, что может быть проблемой (зависит от вашего теста / требований, я не знаю). Если у него один член - отлично, это ваш файл.
А если есть несколько файлов - это еще одна «проблема». Как бы вы выбрали правильный файл вручную? Вполне возможно, что самый новый файл является целевым - для этого вы бы go прошли через все из них и нашли бы его через OperatingSystem's Get Modified Tume; или оно может быть самым большим; или число в суффиксе будет самым большим. Это действительно зависит от ваших требований и того, чего вы пытаетесь достичь.


«Как бы вы сделали это вручную», вероятно, самый важный вопрос, который нужно задать. Подумайте и разберитесь с отдельными задачами, которые вы будете выполнять, и теперь у вас есть алгоритм; Посмотрите, как поместить это в коде - и прежде, реализацию. Это относится к сценариям, тестам и автоматизации бизнес-процессов (например, программному обеспечению). У меня возник соблазн отметить вопрос о закрытии, потому что именно этот алгоритм отсутствовал, указана только конечная цель, а SO - помощь в реализации. Но мы здесь :)

...