#python #robotframework #robotframework-ide
#python #robotframework #robotframework-ide
Вопрос:
Я установил Robot Framework для нескольких машин. Для обоих есть python2 и python3 и пакеты для них. Процесс установки был таким же. На компьютере A
больше профилей выполнения ( jybot
, pybot
, robot
, robot 3.1
), в то время как на другом ( B
) есть только jybot
и pybot
, если я начну ездить с python2 и jybot
и robot
, если python3.
В чем разница или как я могу добавить дополнительные профили выполнения для RIDE?
- Python 2.7.11
- robotframework == 3.0
- robotframework-ride==1.5.2.1
- Python 3.7.4
- robotframework ==3.1.2
- robotframework-ride ==1.7.3.1
В пути нет различий, связанных с robotframework
Редактировать
Машина A
пакеты, связанные с python2 robotframework
robotframework==3.0
robotframework-androidlibrary==0.2.0
robotframework-appiumlibrary==1.5.0.6
robotframework-archivelibrary==0.4.0
robotframework-databaselibrary==0.8.1
robotframework-excellibrary==0.0.2
robotframework-httplibrary==0.4.2
robotframework-pabot==0.31
robotframework-ride==1.5.2.1
robotframework-selenium2library==1.7.4
robotframework-seleniumlibrary==2.9.2
robotframework-sshlibrary==3.4.0
robotremoteserver==1.0.1
пакеты, связанные с python3 robotframework
robotframework==3.1.2
robotframework-httplibrary3==0.6.0
robotframework-pabot==0.99
robotframework-ride==1.7.3.1
robotframework-selenium2library==3.0.0
robotframework-seleniumlibrary==4.1.0
robotframework-sshlibrary==3.4.0
robotframeworklexer==1.1
robotremoteserver==1.1
Машина B
пакеты, связанные с python2 robotframework
robotframework==3.0
robotframework-androidlibrary==0.2.0
robotframework-archivelibrary==0.4.0
robotframework-databaselibrary==0.8.1
robotframework-extendedselenium2library==0.9.1
robotframework-imagehorizonlibrary==0.1
robotframework-pabot==0.31
robotframework-python3==2.9
robotframework-ride==1.5.2.1
robotframework-selenium2library==1.7.4
robotframework-seleniumlibrary==2.9.1
robotframework-sshlibrary==2.1.3
robotframeworklexer==1.1
robotremoteserver==1.0.1
пакеты, связанные с python3 robotframework
robotframework==3.1.2
robotframework-httplibrary3==0.6.0
robotframework-pabot==0.99
robotframework-ride==1.7.3.1
robotframework-selenium2library==3.0.0
robotframework-seleniumlibrary==4.1.0
robotframework-sshlibrary==3.4.0
robotframeworklexer==1.1
robotremoteserver==1.1
Ответ №1:
Я, наконец, нашел его.
В C:<username>AppDataRoamingRobotFrameworkride
папке есть файл settings.cfg.
В этом файле была runprofiles = [('jybot', 'jybot.bat')]
строка.
Я изменил его на runprofiles = [('jybot', 'jybot.bat'), ('pybot', 'pybot.bat'), ('robot 3.1', 'robot')]
, и теперь я могу изменять профиль выполнения в RIDE по своему усмотрению.
Но я действительно не понимаю и не могу объяснить, почему и когда эти два setting.cfg
файла стали разными.
Ответ №2:
Обнаружение исполняемого файла робота зависит не от версии RIDE, а от установленной версии на Python. Но это может привести к тому, что при выполнении тестов будет выполняться другой робот. Когда тест выполняется, он должен использовать робота так, как если бы он запускался из командной строки.
Как упоминал Бенс Кауликс, pybot
был переименован в robot
из определенной версии. А в версии 3.1.x robot был изменен на исполняемый файл вместо файла .bat (в Windows). Это было причиной наличия обоих robot
и robot 3.1
. Итак, в Windows при выборе robot
вы можете выполнять robot.cmd
скрипт. То же самое справедливо для pybot.bat
with profile pybot
.
РЕДАКТИРОВАТЬ: вы можете сравнить settings.cfg
файл с двух компьютеров. Смотрите это в ~/.robotframework/ride/settings.cfg
(или %APPDATA%robotframeworkridesettings.cfg
), в разделе [Плагины] [[Тестовый запуск]], run_profiles
свойство определено там.
Комментарии:
1. Хорошо, но это все еще не отвечает на мой вопрос. Как я могу заставить RIDE показывать также робота любого pybot в качестве профиля выполнения, когда RIDE запускается с python3. На компьютере
A
у меня есть 4 профиля выполнения,B
только на 2, а второй зависит от версии python. Кроме того, папки python одинаковы на компьютерах.