robots-from-jupyter / robotlab

Experiments in building installers for JupyterLab, Robot Framework and Friends
BSD 3-Clause "New" or "Revised" License
25 stars 3 forks source link

Upgrading parts of RobotLab #70

Closed Lauri2000 closed 3 years ago

Lauri2000 commented 3 years ago

Hi Can I upgrade Robot Framework version to the newest one? Can I also update the Selenium library to the newest one? I tried to use pip and update Robot Framework but the functionality was not there anymore.

Also is it possible to install new functionality to RobotLab? QWeb seems quite interesting and it would have some nice features for browser testing. Br -Lauri

datakurre commented 3 years ago

@Lauri2000 Yes, since the last week, I'd expect the following to work:

pip install -U robotkernel robotframework robotframework-seleniumlibrary

The binder demo has already been updated to the latest RF bersions: https://mybinder.org/v2/gh/robots-from-jupyter/robotkernel/master?urlpath=lab/tree/starter/robotkernel-quickstart

@bollwyvl Would you think, you'd find time to help us to make RF 4.0 maintenance release for RobotLab sometime in the near future? I assume that the release pipeline requires changes due to new major JupyterLab -versions. Lauri is using RobotLab for teaching purposes, so supporting them should be close to our ideals.

datakurre commented 3 years ago

From a Python notebook, pip may be called with

!pip install -U robotkernel robotframework robotframework-seleniumlibrary

@Lauri2000 Have you already tried out

!pip install QWeb

and using the library. It does have quite heavy dependencies, but if those install without error, I see no reason why it would not work. :thinking:

datakurre commented 3 years ago

@Lauri2000 I've now tried both on a clean Windows 7 virtual machine (yes, it is old) and the latest (also old) RobotLab installation.

Upgrading Robot Framework should just work with running pip from Python notebook:

!pip install -U robotkernel robotframework robotframework-seleniumlibrary

Installing QWeb with pip worked eventually, but for some reason, I had to run the command twice (the first one reported issue when trying to update RobotLab [Conda] installed Pillow with a new version)

!pip install QWeb

Then I was able to successfully run the example robot provided by QWeb instructions:

*** Settings ***
Library    QWeb     # Import library

*** Test Cases ***
Basic interaction
    Open Browser         https://qentinelqi.github.io/shop      firefox   # Open chrome and goto given url
    VerifyText          The animal friendly clothing company    # Assert heading text
    ClickText           Scar the Lion   # Click link text
    ClickText           Add to cart     # Click *button* with specific text
    DropDown            Size            Large  # Select value (Large) from dropdown (Size)

But I had to run the test a couple of times, because the first run after a clean installation was harmed by Python permission dialogs.

datakurre commented 3 years ago

One more note: QWeb is not yet compatible with Robot Framework 4, so installing QWeb did downgrade Robot Framework back to 3.2.x.

Lauri2000 commented 3 years ago

Same for me but now it works! Thanks a lot for this!

bollwyvl commented 3 years ago

woof, yeah, I couldn't in good faith ship qweb (or robot browser) in a tool meant to be field serviceable and cross-platform, given the number of == pins, and have run into packaging some of those very dependencies. But I'm definitely on-board for firing up a RobotLab 2021.04 (or maybe 05 :blush: ). Let's focus that discussion on #66.