← Front page

Testing Electron Applications With Robot Framework's Selenium2Library

[EDIT: 2.46 seems to be the latest ChromeDriver which works this way.]

[EDIT2: No need to use ChromeDriver 2.46. Updated to article to match current situation.]

Since Electron contains Chromium and ChromeDriver can talk to Chromium and Selenium is just webdriver implementation, SeleniumLibrary can be used to test Electron apps.

First you need to download ChromeDriver version which matches what your application uses. If you do not know that, just download the newest and run the test specified below and your Robot Framework output will complain something like this:

SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97
Current browser version is 83.0.4103.122 with binary path path/to/electron/app

Then download ChromeDriver to match the version mentioned in the error message.

Then create a python file, let's say, vars.py with following content:

binary_location = {"goog:chromeOptions": {"binary": "path/to/electron/application.exe"}}

And finally create your Robot Framework test suite, like this:

*** Settings ***
Library    SeleniumLibrary    run_on_failure=Log Source
Variables    vars.py

*** Test Cases ***
    Create Webdriver    Chrome    desired_capabilities=${binary_location}
    Wait Until Page Contains Element    css=.workspace
    [Teardown]    Close All Browsers

Happy testing!