No keyword 'Open Available Browser' found

Our jobs started failing. Did you make kind kind of update to the robotFramework? We’ve not deployed in a long time…

Exception
No keyword with name ‘Open Available Browser’ found.

Can you share your conda.yaml and list of packages during the robot run (it is visible when you run your robot) ?

Hi Mika,

Is there some way to contact you for support? This had a huge devastating impact on our ops, but we were sure the best way to get help.

It seems the problem is not in our code, but some dependency issues in the cloud environment…

name: rabot
channels:
  - defaults
  - conda-forge
dependencies:
  - python=3.7.5
  - pip=20.2.2
  - pip:
    - rpaframework==4.2.*
    - robotframework-notifications
    - postmarker
    - pandas
    - bugsnag
    - tldextract
    - airtable-python-wrapper

Sounds very similar to this Slack thread

1 Like

that’s link isn’t working. can you tell me what keywords and date of conversation should I look for?

this started to fail for us Friday after 6:30AM JST. We hadn’t made any changes, so was there some update to your platform or infrastructure?

not sure if this helps (ids obfuscated)

Importing test library 'RPA.Browser' failed: ImportError: cannot import name 'PY2' from 'robotlibcore' (/home/worker/.robocorp/live/XXX/lib/python3.7/site-packages/robotlibcore.py)
Traceback (most recent call last):
  File "/home/worker/.robocorp/live/XXX/lib/python3.7/site-packages/RPA/Browser.py", line 15, in <module>
    from SeleniumLibrary import SeleniumLibrary, EMBED
  File "/home/worker/.robocorp/live/XXX/lib/python3.7/site-packages/SeleniumLibrary/__init__.py", line 28, in <module>
    from SeleniumLibrary.base import LibraryComponent
  File "/home/worker/.robocorp/live/XXX/lib/python3.7/site-packages/SeleniumLibrary/base/__init__.py", line 19, in <module>
    from .librarycomponent import LibraryComponent
  File "/home/worker/.robocorp/live/XXX/lib/python3.7/site-packages/SeleniumLibrary/base/librarycomponent.py", line 21, in <module>
    from robotlibcore import PY2
PYTHONPATH:
  /home/worker/instance/runs/ccf53c4a-XXX-c603b41470f5/package
  /home/worker/instance/runs/ccf53c4a-XXX-c603b41470f5/package/variables
  /home/worker/instance/runs/ccf53c4a-XXX-c603b41470f5/package/libraries
  /home/worker/instance/runs/ccf53c4a-XXX-c603b41470f5/package/resources
  /home/worker/.robocorp/live/XXX/lib/python37.zip
  /home/worker/.robocorp/live/XXX/lib/python3.7
  /home/worker/.robocorp/live/XXX/lib/python3.7/lib-dynload
  /home/worker/.robocorp/live/XXX/lib/python3.7/site-packages

Its from Robot Framework slack


From June 11th
image

1 Like

Thank you so much. Yup, the timing is the same.

So @mika do you have any advice for us here? I’m at a loss as to how to move forward. Robotframework seems to have updated either their dependency on selenium or python…but we’re using rpaframework. So is this something you’ve solved for us, and maybe we only need to advance our version of rpaframework?

@max upgrading your rpaframework version should fix this issue as newer version use newer selenium.

2 Likes

Depending on what libraries and keywords you use, updating to the latest RPA Framework could be a good option (Release notes — RPA Framework documentation).

Some APIs for some of the libraries have changed, but those might not affect your robots. Worth a try at least since 4.2.0 is quite an old release already.

If you have a possibility to test with the latest RPA Framework, I would try that.

1 Like

Thank you, yes, we updated rpaframework redeployed and it’s working now!

3 Likes

Great that it works again!

I would recommend pinning versions of all the packages you have mentioned in the conda.yaml. Benefit would be improved run time, because environment could be then cached with known package versions. And following runs would be using cached version instead of rebuilding environment each time.

By pinning versions I mean giving exact version of the package like,

- rpaframework==10.3.0
- pandas==1.2.4
- ...

Some dependency package update might still cause problems, but I think the problem would be then easier to track down.

Another thing to consider is to start using Conda packages instead of PyPI, unfortunately this is not yet supported approach for rpaframework. The Conda package would pin down also the dependency package versions.