2016-12-09 1 views
0

Я использую Robotframework 3.0 в java-платформе, используя RIDE на окнах 10. Я пытаюсь использовать команды из библиотеки операционной системы, такие как "Empty Directory and Remove Directory". После выполнения этих команд я получаю эту ошибку: "OSError: unlink(): an unknown error occurred: Directorypath" и Directory does not existНе удается удалить папку, содержащую файл

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

List of commands used on RF

Мои вопросы:
1. Использование Удалить Directory recursive = True; Почему эта команда не может удалить папку, если у нее есть файл. Я смог использовать ту же команду без ошибок.
2. Использование пустого каталога, Почему я получаю ошибку, что каталог не существует. Я понимаю, что каталог недоступен. Я предполагал, что эта команда будет игнорировать, если каталог недоступен. Если мое предположение неверно, то как я могу его решить. Мне нужна помощь по сценариям сбоя.

+0

Какая помощь вам нужна? Ошибка, которую вы разделили, кажется, предполагает, что путь не существует? – shicky

+0

Просто обновил вопрос. Пожалуйста, дайте мне знать, если у вас все еще есть сомнения. благодаря – user7096987

ответ

0

Empty Directory действительно проверяет, существует ли целевой каталог (что происходит в личном ключе _list_dir в библиотеке).

Если вы хотите назвать это, и не провалить дело, если папка не существует, то его окружают в Run Keyword And Ignore Error:

${rc} ${msg} Run Keyword And Ignore Error Empty Directory ${target dir} 
Run Keyword If '${rc}' == 'FAIL'  Handle Failed Deletion As You Like 

Что касается 1), когда вы звоните Remove Directory с recursive=True, его не будет проблем с удалением каталога и любых файлов/подкаталогов из него.
Ошибка, которую вы видите, - OSError: unlink() ... распространяется через модуль-модуль python, который выполняет фактическое удаление. Могло быть несколько причин - учетная запись, с которой вы выполняете тесты, не имеет прав на удаление этого конкретного файла (скорее всего), файл был добавлен параллельно операции удаления (не так, вероятно, исключение тогда что холдинг-дир не может быть отсоединен) или по аналогичным причинам. Попробуйте использовать другой путь, а не временный каталог пользователя windows, но тот, на котором вы уверены, что у вас есть полный доступ и контроль.

 Смежные вопросы

  • Нет связанных вопросов^_^