Skip to main content

robotframework-browser-migration

This project contains two things.

  1. A small script to analyze your SeleniumLibrary keywords unsed and create a statistic over the usage in your project.

  2. A migration layer library named SeleniumLibraryToBrowser that has ~80% of the SeleniumLibrary keywords implemented by Browser library.

Installation

run:

pip install robotframework-browser-migration

for the migration layer library you also need Robot_Framework_Browser installed and initialized as well:

pip install robotframework-browser

and

rfbrowser init


SeleniumLibraryToBrowser

Please find the implemented keywords here in the Keyword_Documentation.

Usage:

*** Settings ***
Library  SeleniumLibraryToBrowser

*** Test Cases ***
My Test Case
    Open Browser  https://robocon.io  chrome
    Location Should Be     https://robocon.io/
    ${hamburger}=    Run Keyword And Return Status    Element Should Be Visible    css:.hamburger
    IF    ${hamburger}     Click Button    css:.hamburger
    Click Link     RBCN22
    Location Should Be     https://robocon.io/2022
    Close All Browsers

Be aware that some keywords will never be implemented and others are just barely compatible. Like Open Browser is really recommented to use the Browser library New Browser/New Context/New Page or New Persistent Context instead.

SeleniumStats

We want to know which keywords are massively used in our community. In the first step we would like to get this information to know which keywords are missing in Browser Library.

Later we also will show you which of your keywords are already replaceable by Browser and how to do so.

We appreciate your help!


How it works

This small script analyzes your output.xml and creates a statistic over the usage of your SeleniumLibrary Keywords.

It will check which Selenium Keywords are used, and how often they are called in general. It also check how many different parents (Keywords, TestCases or TestSuites) calls this keyword directly. This “parent” count is the number of places you may have to change when migrating later.

We never ever ever take any of your private or confidential data! We also just uses hashes of the names of your Tests and Keywords to sum up their appearance. And also these hashes are never ever stored in any file.

The generated data/statistic are absolutely anonymous!

You will see all collected data as a statistics table when finished.

Like here:

+----------------------------------+-------+---------+
| Keyword                          | count | parents |
+----------------------------------+-------+---------+
| Checkbox Should Be Selected      | 10    | 2       |
| Checkbox Should Not Be Selected  | 10    | 2       |
| Clear Element Text               | 1     | 1       |
| Click Button                     | 4     | 4       |
| Click Element                    | 48    | 20      |
| Click Link                       | 18    | 10      |
| Close All Browsers               | 30    | 16      |
| Close Browser                    | 15    | 8       |
| Element Text Should Be           | 18    | 5       |
| Execute Javascript               | 18    | 2       |
| Get Element Count                | 8     | 1       |
| Get Location                     | 8     | 2       |
| Get Text                         | 40    | 9       |
| Get WebElement                   | 17    | 3       |
| Get WebElements                  | 10    | 3       |
| Go To                            | 30    | 19      |
| Input Password                   | 45    | 19      |
| Input Text                       | 47    | 21      |
| Location Should Be               | 47    | 16      |
| Open Browser                     | 55    | 29      |
| Page Should Contain Element      | 9     | 8       |
| Select Checkbox                  | 10    | 4       |
| Select From List By Label        | 2     | 2       |
| Select From List By Value        | 1     | 1       |
| Set Window Position              | 2     | 2       |
| Switch Window                    | 16    | 1       |
| Title Should Be                  | 30    | 16      |
| Unselect Checkbox                | 8     | 4       |
| Wait Until Element Is Visible    | 27    | 9       |
| Wait Until Page Contains Element | 4     | 1       |
+----------------------------------+-------+---------+

Statistics File: /Source/robotframework-browser-migration/src/keyword_stats.json
Please upload the file to https://data.keyword-driven.de/index.php/s/SeleniumStats for full anonymity.
IP-Addresses or other personal data are not logged when uploading the file!
You can also mail it to mailto:rene@robotframework.org.

Thanks you very much for your support!
Your Browser-Team (Mikko, Tatu, Kerkko, Janne and René)

The easiest and most anonymous way to share these data with us, would be to upload the keyword_stats.json to https://data.keyword-driven.de/index.php/s/SeleniumStats . We do not store any information of the one who uploaded it. No IP-Address! Nothing.


Usage

Call the SeleniumStats with the path to your output.xml as first argument. The output.xml can also be from a dryrun!

python -m SeleniumStats c:\\MyTests\\output.xml

Then send us the keyword_stats.json please.


Thank you very much!!!

The Browser-Team

Metadata

Release files for robotframework-browser-migration 1.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for robotframework-browser-migration 1.0.0
File Size Uploaded
robotframework-browser-migration-1.0.0.tar.gz 31.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for robotframework-browser-migration 1.0.0
File Interpreter ABI Platform
robotframework_browser_migration-1.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 60.9 kB

Release files / robotframework-browser-migration-1.0.0.tar.gz

Download URL robotframework-browser-migration-1.0.0.tar.gz
Size 31.3 kB
Tags Source
SHA-256 checksum
How to use checksums
5f07f428c21e2aac112b99d9b40e57c8d049ce03ba943c99ac5ce74079fc3914
BLAKE2b-256 checksum
How to use checksums
abca0138c7464657c128aad165849790371b9e302b1fb4e515749f1428105751
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release files / robotframework_browser_migration-1.0.0-py3-none-any.whl

Download URL robotframework_browser_migration-1.0.0-py3-none-any.whl
Size 29.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b23dbcc93b74011ac6ef3e9347a43f289418d3ce9118d477876d4318ca2f81b3
BLAKE2b-256 checksum
How to use checksums
8b74657ab90f8755a1f4924313b40bb1d9a04ce74e6153777d3789fd952caa52
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.4

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 release files

0.8.0

2 release files

0.6.1

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.0

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page