1
votes

I have installed Robot Framework for multiple machines. There are python2 and python3 and packeges for them on both. The process of the installation was the same. On machine A there are more Execution Profile (jybot, pybot, robot, robot 3.1) while on the other (B) there are only jybot and pybot if I start RIDE with python2 and jybot and robot if python3.

What is the difference, or how can I add more Execution Profiles for 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

There is no robotframework related difference in PATH

EDIT

Machine A

python2 robotframework related packages

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 related packages

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

Machine B

python2 robotframework related packages

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 related packages

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
2

2 Answers

1
votes

I have finally found it.

In C:\<username>\AppData\Roaming\RobotFramework\ride folder there is a settings.cfg file.

In this file there was a runprofiles = [('jybot', 'jybot.bat')] row.

I've changed it to runprofiles = [('jybot', 'jybot.bat'), ('pybot', 'pybot.bat'), ('robot 3.1', 'robot')] and now I can modify the Execution Profile in RIDE as I want.

But I don't really understand and can't explain why and when became the two setting.cfg files different.

0
votes

The detection of robot executable is not dependent on the version of RIDE, but on the installed version in Python. But this may result in different robot being executed when running tests. When the test is executed, it should use the robot as it would if launched from command line.

Like was mentioned by Bence Kaulics, pybotwas renamed to robot from certain version. And in version 3.1.x, robot was changed to an executable instead of a .bat file (in Windows). That was the reason to have both robot and robot 3.1. So, in Windows, when selecting robotyou may be executing a robot.cmd script. The same is valid for pybot.bat with profile pybot.

EDIT: You can compare the settings.cfg file from the two machines. See it at ~/.robotframework/ride/settings.cfg (or %APPDATA%\robotframework\ride\settings.cfg ), on the [Plugins][[Test Runner]] section, the run_profiles property is defined there.