diff --git a/.github/workflows/CI.yml b/.github/workflows/CI.yml index dea36b146..41fa78502 100644 --- a/.github/workflows/CI.yml +++ b/.github/workflows/CI.yml @@ -87,8 +87,9 @@ jobs: # sudo chmod u+x ./selenium-server-standalone.jar # xvfb-run --auto-servernum python atest/run.py --zip headlesschrome --grid True - - uses: actions/upload-artifact@v3 + - uses: actions/upload-artifact@v4 if: failure() with: name: SeleniumLibrary Test results path: atest/zip_results + overwrite: true \ No newline at end of file diff --git a/README.rst b/README.rst index efd83b3c4..1f4346024 100644 --- a/README.rst +++ b/README.rst @@ -44,8 +44,7 @@ The recommended installation method is using pip_:: pip install --upgrade robotframework-seleniumlibrary Running this command installs also the latest Selenium and Robot Framework -versions, but you still need to install `browser drivers`_ separately. -The ``--upgrade`` option can be omitted when installing the library for the +versions. The ``--upgrade`` option can be omitted when installing the library for the first time. It is possible to install directly from the GitHub_ repository. To install @@ -64,39 +63,11 @@ using ``pip`` see `its own documentation `__. Browser drivers --------------- -After installing the library, you still need to install browser and -operating system specific browser drivers for all those browsers you -want to use in tests. These are the exact same drivers you need to use with -Selenium also when not using SeleniumLibrary. More information about -drivers can be found from `Selenium documentation`__. - -The general approach to install a browser driver is downloading a right -driver, such as ``chromedriver`` for Chrome, and placing it into -a directory that is in PATH__. Drivers for different browsers -can be found via Selenium documentation or by using your favorite -search engine with a search term like ``selenium chrome browser driver``. -New browser driver versions are released to support features in -new browsers, fix bug, or otherwise, and you need to keep an eye on them -to know when to update drivers you use. - -Alternatively, you can use a tool called WebdriverManager__ which can -find the latest version or when required, any version of appropriate -webdrivers for you and then download and link/copy it into right -location. Tool can run on all major operating systems and supports -downloading of Chrome, Firefox, Opera & Edge webdrivers. - -Here's an example: - -.. code:: bash - - pip install webdrivermanager - webdrivermanager firefox chrome --linkpath /usr/local/bin - - +Browsers and drivers are installed and managed automatically by `Selenium Manager`__. +For more information, see the `Selenium documentation`__. +__ https://www.selenium.dev/documentation/selenium_manager __ https://seleniumhq.github.io/selenium/docs/api/py/index.html#drivers -__ https://en.wikipedia.org/wiki/PATH_(variable) -__ https://github.com/omenia/webdrivermanager Usage ----- diff --git a/atest/acceptance/locators/custom.robot b/atest/acceptance/locators/custom.robot index 56841038f..af1b87fdf 100644 --- a/atest/acceptance/locators/custom.robot +++ b/atest/acceptance/locators/custom.robot @@ -55,4 +55,4 @@ Teardown Custom Locator Custom Locator Strategy [Arguments] ${browser} ${locator} ${tag} ${constraints} ${element}= Execute Javascript return window.document.getElementById('${locator}') || []; - [Return] ${element} + RETURN ${element} diff --git a/atest/acceptance/resource.robot b/atest/acceptance/resource.robot index 7b429d0ff..b965d3611 100644 --- a/atest/acceptance/resource.robot +++ b/atest/acceptance/resource.robot @@ -24,7 +24,7 @@ Open Browser To Start Page Without Testing Default Options ... desired_capabilities=${DESIRED_CAPABILITIES} alias=${alias} ${orig speed} = Set Selenium Speed ${SPEED} ${orig timeout} = Set Selenium Timeout 10 seconds - [Return] ${orig speed} 5 seconds + RETURN ${orig speed} 5 seconds Cannot Be Executed In IE [Documentation] Cannot Be Executed In IE diff --git a/atest/run.py b/atest/run.py index 3e7960a15..d386ea7db 100755 --- a/atest/run.py +++ b/atest/run.py @@ -251,7 +251,7 @@ def process_output(browser): print("Verifying results...") options = [] output = os.path.join(RESULTS_DIR, "output.xml") - robotstatuschecker.process_output(output, verbose=False) + robotstatuschecker.process_output(output) options.extend([opt.format(browser=browser) for opt in REBOT_OPTIONS]) try: rebot_cli(options + [output]) diff --git a/docs/SeleniumLibrary-6.7.1.rst b/docs/SeleniumLibrary-6.7.1.rst new file mode 100644 index 000000000..31c557f0a --- /dev/null +++ b/docs/SeleniumLibrary-6.7.1.rst @@ -0,0 +1,72 @@ +===================== +SeleniumLibrary 6.7.1 +===================== + + +.. default-role:: code + + +SeleniumLibrary_ is a web testing library for `Robot Framework`_ that utilizes +the Selenium_ tool internally. SeleniumLibrary 6.7.1 is a new release with +one minor change - downgrade the requirements on the click dependency. + +If you have pip_ installed, just run + +:: + + pip install --upgrade robotframework-seleniumlibrary + +to install the latest available release or use + +:: + + pip install robotframework-seleniumlibrary==6.7.1 + +to install exactly this version. Alternatively you can download the source +distribution from PyPI_ and install it manually. + +SeleniumLibrary 6.7.1 was released on Wednesday February 26, 2025. SeleniumLibrary supports +Python 3.8 through 3.13, Selenium 4.24.0 through 4.27.1 and +Robot Framework 6.1.1 and 7.1.1. + +.. _Robot Framework: http://robotframework.org +.. _SeleniumLibrary: https://github.com/robotframework/SeleniumLibrary +.. _Selenium: http://seleniumhq.org +.. _pip: http://pip-installer.org +.. _PyPI: https://pypi.python.org/pypi/robotframework-seleniumlibrary +.. _issue tracker: https://github.com/robotframework/SeleniumLibrary/issues?q=milestone%3Av6.7.1 + + +.. contents:: + :depth: 2 + :local: + +Changes +======= + +- Downgrade the requirement on click to `click>=8.0`. (`#1932`_) + +Acknowledgements +================ + +I want to thank Oliver Boehmer for raising up this issue and Pekka Klärck and Tatu Aalto for +consultation and review. (`#1932`_) + +Full list of fixes and enhancements +=================================== + +.. list-table:: + :header-rows: 1 + + * - ID + - Type + - Priority + - Summary + * - `#1932`_ + - --- + - medium + - Downgrade requirements on click to `click>=8.0` + +Altogether 1 issue. View on the `issue tracker `__. + +.. _#1932: https://github.com/robotframework/SeleniumLibrary/issues/1932 diff --git a/docs/SeleniumLibrary.html b/docs/SeleniumLibrary.html index 2bd5eac76..4d6abc3b6 100644 --- a/docs/SeleniumLibrary.html +++ b/docs/SeleniumLibrary.html @@ -7,1194 +7,11 @@ - - - - - - - - - - + - - - + +

Opening library documentation failed

  • Verify that you have JavaScript enabled in your browser.
  • -
  • Make sure you are using a modern enough browser. If using Internet Explorer, version 11 is required.
  • -
  • Check are there messages in your browser's JavaScript error log. Please report the problem if you suspect you have encountered a bug.
  • +
  • + Make sure you are using a modern enough browser. If using + Internet Explorer, version 11 is required. +
  • +
  • + Check are there messages in your browser's + JavaScript error log. Please report the problem if you suspect + you have encountered a bug. +
- - - + + + + +
+ - + + + + + + - + - - - + + - + + - - - - - + {{#if usages.length}} +
+

{{t "usages"}}

+
    + {{#each usages}} +
  • {{this}}
  • + {{/each}} +
+
+ {{/if}} + + + + + diff --git a/requirements.txt b/requirements.txt index 616d9719e..502fafc26 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,4 +1,4 @@ selenium >= 4.3.0 robotframework >= 4.1.3 robotframework-pythonlibcore >= 4.4.1 -click >= 8.1.7 +click >= 8.0 diff --git a/src/SeleniumLibrary/__init__.py b/src/SeleniumLibrary/__init__.py index 1228fb94e..0187df611 100644 --- a/src/SeleniumLibrary/__init__.py +++ b/src/SeleniumLibrary/__init__.py @@ -55,7 +55,7 @@ from SeleniumLibrary.utils import LibraryListener, is_truthy, _convert_timeout, _convert_delay -__version__ = "6.7.0" +__version__ = "6.7.1" class SeleniumLibrary(DynamicCore): @@ -238,7 +238,7 @@ class SeleniumLibrary(DynamicCore): | Custom Locator Strategy | [Arguments] | ${browser} | ${locator} | ${tag} | ${constraints} | | | ${element}= | Execute Javascript | return window.document.getElementById('${locator}'); | - | | [Return] | ${element} | + | | RETURN | ${element} | This keyword is a reimplementation of the basic functionality of the ``id`` locator where ``${browser}`` is a reference to a WebDriver diff --git a/utest/test/api/approved_files/PluginDocumentation.test_many_plugins.approved.txt b/utest/test/api/approved_files/PluginDocumentation.test_many_plugins.approved.txt index 447445852..1a204d3bb 100644 --- a/utest/test/api/approved_files/PluginDocumentation.test_many_plugins.approved.txt +++ b/utest/test/api/approved_files/PluginDocumentation.test_many_plugins.approved.txt @@ -177,7 +177,7 @@ a WebElement that should be acted on: | Custom Locator Strategy | [Arguments] | ${browser} | ${locator} | ${tag} | ${constraints} | | | ${element}= | Execute Javascript | return window.document.getElementById('${locator}'); | -| | [Return] | ${element} | +| | RETURN | ${element} | This keyword is a reimplementation of the basic functionality of the ``id`` locator where ``${browser}`` is a reference to a WebDriver