Разница в ресурсах и файлах библиотек Robot Framework

В чем разница между ресурсом и файлом библиотеки в среде робота? Я искал в гугле, но не смог найти ответ


person RobotFython    schedule 10.05.2019    source источник
comment
Вы читали руководство пользователя? Они оба объяснены очень подробно.   -  person Bryan Oakley    schedule 10.05.2019


Ответы (1)


Содержимое файла ресурсов соответствует синтаксису Robot Framework. Когда он импортируется в пакет, вы можете использовать все его ключевые слова и переменные, определенные в соответствующих разделах. Также все его импорты (другие Resource и Library, которые он определяет в разделе «Настройки») теперь доступны для использования.

С другой стороны, библиотеки (обычно ) написан на языке Python. Это могут быть как установленные через pip, так и отдельные скрипты или модули. В простейшем случае все общедоступные функции модуля (точнее, не скрытые) доступны как ключевые слова для использования в пакете. Для более расширенного использования (объем, сохранение состояния) они должны следовать определенной структуре (обычно выполняется с помощью классов и с использованием идентификаторов/декораторов, ожидаемых RF).

Существует третий тип импорта, который вы не спрашивали, но я добавляю для полноты — Variables файла. Их формат снова представляет собой код Python, что делает их довольно универсальными и мощными по сравнению с переменными, определенными в синтаксисе RF (вы можете установить содержимое переменных с помощью сложных программных конструкций).
Одно предостережение, о котором следует помнить не забывайте о них — фреймворк ожидает, что каждый атрибут модуля будет переменной, и сделает его доступным в вашем наборе; это включает даже другие модули, которые файл импортирует :). Таким образом, вы должны скрыть их с помощью суффикса имени _ (или злоупотреблять этим побочным эффектом для тихого импорта в некоторых экзотических случаях :)).


Я включил ссылки на соответствующие разделы руководства пользователя для получения дополнительной информации.

person Todor Minakov    schedule 10.05.2019