Уведомления

Группа в Telegram: @pythonsu

#1 Июль 14, 2017 08:59:17

houey
Зарегистрирован: 2017-05-28
Сообщения: 6
Репутация: +  0  -
Профиль   Отправить e-mail  

Robot Framework

Добрый день!

Возможно кому-то доводилось сталкиваться с этим замечательным фреймворком, надеюсь сможете дать дельных советов

Собственно вопрос: Имеется приложение “Х”, есть набор кейвордов, которые работают с конфигом для приложения “Х” (модификация, удаление и т.п.). Данные кейворды (для работы с конфигом) используют библиотеку на питоне.

Далее имеется набор сюитов, в которых имеются тест кейсы. Внутри этих кейсов я модифицирую конфиг приложения “Х”, используя “набор кейвордов для работы с конфигом”.

Проблема заключается в следующем - в моём случае питоновская библиотека для работы с конфигом по своей сути является “синглтоном” , а мне такое поведение неудобно/ненужно

Подскажите, пожалуйста могу ли я как-то создавать (экземпляры?) библиотеки (питоновской), чтобы в дальнейшем работать с экземпляром класса, а не синглтоном?

Пример работы с конфигом (по кейвордам):
1. Считать конфиг для приложения “Х”
2. Изменить параметр “А” для приложения “Х”
3. Изменить параметр “B” для приложения “Х”
4. Сохранить новую конфигурацию для “X”

Пример выше - работает ок, но вся проблема заключается в том, что весь мой конфиг (дерево, которое получается после парсинга конфига) хранится внутри питоновской библиотеки и никуда не сохраняется пока я не вызову “Сохранить новую конфигурацию”

Т.е. такая последовательность действий у меня не взлетит:
1. Считать конфиг для приложения “X”
2. Изменить параметр “А” для приложения “Х”
3. Изменить параметр “B” для приложения “Х”
4. Считать конфиг для приложения “Y” (здесь потеряется вся инфа об действиях 2,3)
5. Изменить параметр “C” для приложения “Y”
6. Сохранить новую конфигурацию для “Y” (тут всё ок будет)
7. Сохранить новую конфигурацию для “X” (а здесь мы ничего не поменяем, возможно даже будет ошибка, потому что “внутри” либы у нас сейчас находится совсем другой конфиг)

В итоге я хочу сделать так:

 ${x} =  Load Config For X
${y} =  Load Config For Y

И далее уже работать с {x} и {y}.
Надеюсь что смог объяснить, спасибо!

Отредактировано houey (Июль 14, 2017 10:12:55)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version