#robotframework
Вопрос:
Я размышляю о целях и наилучшей практике использования папок ресурсов и библиотек в работе с роботами.
Ниже я сформулировал несколько утверждений, которые служат иллюстрацией моих вопросов. (Используемые сокращения: KW = ключевое слово, RF = Каркасная работа, TS = TestSuite).
Заявления/Вопросы:
Каждый KW, предназначенный для совместного использования между TS и написанный в RF-синтаксисе, должен быть помещен в файл .resource в папке ресурсов?
Каждый KW, написанный на Python, должен быть помещен (как метод внутри файла .py) в папку библиотеки?
Т. е. линия разграничения между папкой ресурсов и библиотекой проводится на основе синтаксиса, используемого при написании KW (RF-KW переходит в папку ресурсов, а Python — KW переходит в папку библиотек).
Или, скорее, следует проводить линию разграничения по близости к испытательной установке и тестируемой системе. (т. е. Ключевые слова высокого или низкого уровня. Где, как говорят, ключевые слова низкого уровня взаимодействуют с тестируемой системой). И, следовательно, вы могли бы поместить python KW (методы) в папку ресурсов?
Ответ №1:
Мое мнение — Да по всему, даже по последнему абзацу с «Или». Все, вплоть до вопросов о содержании/синтаксисе файла. И если в вашем файле python (библиотека) есть KW-ы, которые имеют контекстуальный смысл находиться в папке с другими аналогичными файлами RF (ресурсов) — поместите его туда.
Помните две вещи: для работы с роботом различие между Resource
и Library
в основном заключается в том, какой синтаксис он ожидает и как импортировать ресурсы цели. Он не навязывает никаких жестких ожиданий относительно своей цели.
Например, ничто не мешает вам иметь ключевое слово высокого уровня, разработанное на python, например
def login_with_user_and_do_complex_compund_action(user, pass, other_arg)
, ни для создания относительно низкоуровневого KW, написанного в синтаксисе Robotframework:
Keyword For Complex Math That Should Better Be In Python [Arguments] ${complex_number} ${transformer_functuon} ${other_arg}
Другое дело, что Robotframework-это инструмент (набор), с помощью которого вы создаете свою платформу автоматического тестирования для SUT. Под вашей структурой я подразумеваю структуру и организацию наборов и тестов, их взаимосвязи и иерархию, а также «помощников» для их операций — ранее упомянутые файлы ресурсов (RF) и библиотеки (py).
До тех пор, пока эта структура логически обоснована, имеет установленные соглашения и ее легко понять и следовать, вы можете иметь любую структуру, которая вам подходит.
Комментарии:
1. Спасибо за ваш ответ! Я полагаю, что мы поместим все файлы, содержащие KW, в папку ресурсов, независимо от того, написан ли файл в py или в rf (как, я полагаю, вы предложили).
2. Я предложил следующее: если логическое расположение функций в файле предполагает, что они должны быть вместе, то размещение их физически в одном каталоге должно быть более чем нормально. Продолжайте в том же духе 🙂