---
title: Electron Automated Testing | TestingBot Blog
description: TestingBot now supports running automated tests against Electron-based
  apps on remote Windows and macOS machines in the cloud.
source_url:
  html: https://testingbot.com/blog/electron-automated-testing
  md: https://testingbot.com/blog/electron-automated-testing.md
---

# Test your Electron app in the cloud

TestingBot now supports running automated tests against Electron-based apps on remote Windows and macOS machines in the cloud.

By [Jochen D.](https://testingbot.com/about/jochen-d)2024-08-26

 Share on Facebook 

 Share on Twitter 

 Post on Reddit 

 Share link 

We are excited to announce a new upgrade to the TestingBot testing capabilities: TestingBot now supports automated testing for Electron applications in the cloud!

Electron is a framework that lets developers build cross-platform desktop applications using web technologies such as JavaScript, HTML and CSS. It's used by popular apps such as Slack, Visual Studio Code and GitHub Desktop. With Electron, developers can create applications that work seamlessly on both Windows and macOS, while sharing a single codebase.

With this new release, developers and QA can now run automated tests against these native apps, running on remote Windows and macOS machines in the TestingBot cloud. Electron has a tutorial on how to run [automated tests with Electron](https://www.electronjs.org/docs/latest/tutorial/automated-testing).

## Electron Automated Testing Example

To get started, you will need to upload your Electron app to [TestingBot Storage](https://testingbot.com/support/api#upload) and indicate in your Selenium test script which app should should be tested, together with the Electron version.

Indicate which operating system needs to be used and TestingBot will provision a remote machine with your Electron app pre-installed. Please see the Java example below:

```java
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.remote.RemoteWebDriver;
import org.openqa.selenium.remote.http.ClientConfig;
import org.openqa.selenium.remote.http.HttpClient;
import org.openqa.selenium.remote.http.HttpClient.Factory;

import java.net.URL;
import java.util.Random;

public class SeleniumTest {

    public static void main(String[] args) {
        try {
            DesiredCapabilities caps = new DesiredCapabilities();
            caps.setCapability("browserName", "electron");
            caps.setCapability("platformName", "VENTURA");
            caps.setCapability("browserVersion", "31");
            caps.setCapability("tb:binary_location", "testingbot-electron-demo-app.app/Contents/MacOS/testingbot-electron-demo-app");
            caps.setCapability("tb:app", "https://github.com/testingbot/testingbot-electron-demo-app/releases/download/v1.0.0/testingbot-electron-demo-app-darwin-arm64-1.0.0.zip");

            WebDriver driver = new RemoteWebDriver(
                new URL("https://key:secret@hub.testingbot.com/wd/hub"),
                caps
            );

            // Generate two random numbers between 0 and 9
            Random random = new Random();
            int num1 = random.nextInt(10);
            int num2 = random.nextInt(10);

            WebElement firstNumber = driver.findElement(By.id("btn-" + num1));
            WebElement secondNumber = driver.findElement(By.id("btn-" + num2));
            WebElement plus = driver.findElement(By.id("btn-plus"));
            WebElement equal = driver.findElement(By.id("btn-equal"));

            firstNumber.click();
            plus.click();
            secondNumber.click();
            equal.click();

            WebElement resultElement = driver.findElement(By.id("calc-display"));
            String resultText = resultElement.getText();

            // Verify the result
            if ((num1 + num2) != Integer.parseInt(resultText)) {
                throw new AssertionError("Test failed");
            }

            // Quit the driver
            driver.quit();

        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}
```

Please see the [Electron documentation](https://testingbot.com/support/app-automate/electron) for more information and examples.

## Run Electron Tests on Multiple Operating Systems

Your Electron apps might behave differently on various platforms. TestingBot enables you to run your tests on both Windows and macOS environments, ensuring that your application functions as expected across all platforms your users might be on. Electron testing on TestingBot is currently supported on the following operating systems:

- Windows 11
- Windows 10
- macOS Sonoma
- macOS Ventura
- macOS Monterey

## High Parallel Testing

Speed up your testing process with TestingBot’s high parallel testing capabilities. By running multiple tests simultaneously, you can drastically reduce the time it takes to validate your app across different operating systems. This in turn means faster release cycles and more time to focus on building features, rather than waiting for your tests to complete.

By integrating automated Electron tests with TestingBot into your CI/CD pipeline, you'll accelerate your app releases while ensuring the highest quality for your Electron application.

## Detailed Test Reporting

Every Electron test you run on TestingBot comes with a video recording of the test and generated log files, to help you identify and fix issues quickly.

Ready to get started? [Sign up for free](https://testingbot.com/users/sign_up) and start testing your Electron app.

[← Previous post Selenium WebDriver BiDi](https://testingbot.com/blog/webdriver-bidi) [Next post → Selenium 20th birthday](https://testingbot.com/blog/selenium-20-years)

## Sidebar

### TestingBot Cloud Testing

Run automated, manual and visual tests on remote browsers and devices. Sign up for a free trial.

[Free Trial](https://testingbot.com/users/sign_up)

### Latest articles

[![Announcing AI Test Insights](https://testingbot.com/assets/blog/2026/ai-insights.jpg)](https://testingbot.com/blog/ai-test-insights)

#### Announcing AI Test Insights

Use AI Insights to quickly discover why an automated test...

[Read: Announcing AI Test Insights](https://testingbot.com/blog/ai-test-insights)

[![Selenium vs Playwright 2026](https://testingbot.com/assets/blog/2026/selenium-vs-playwright-2026.jpg)](https://testingbot.com/blog/selenium-vs-playwright)

#### Selenium vs Playwright 2026

Comparing Selenium vs Playwright - which is the best test...

[Read: Selenium vs Playwright 2026](https://testingbot.com/blog/selenium-vs-playwright)

[![Maestro Physical Device Testing](https://testingbot.com/assets/blog/2026/maestro-physical.jpg)](https://testingbot.com/blog/maestro-physical-device-testing)

#### Maestro Physical Device Testing

Maestro testing in parallel on physical Android and iOS d...

[Read: Maestro Physical Device Testing](https://testingbot.com/blog/maestro-physical-device-testing)

## Related Articles

[![Selenium vs Playwright 2026](https://testingbot.com/assets/blog/2026/selenium-vs-playwright-2026.jpg)](https://testingbot.com/blog/selenium-vs-playwright "Selenium vs Playwright 2026")

### [Selenium vs Playwright 2026](https://testingbot.com/blog/selenium-vs-playwright)

Comparing Selenium vs Playwright - which is the best test framework for your usecase?

[Read article →](https://testingbot.com/blog/selenium-vs-playwright)

[![Selenium 20th birthday](https://testingbot.com/assets/blog/2024/selenium20.webp)](https://testingbot.com/blog/selenium-20-years "Selenium 20th birthday")

### [Selenium 20th birthday](https://testingbot.com/blog/selenium-20-years)

Celebrate Selenium's 20th birthday. An overview of the years.

[Read article →](https://testingbot.com/blog/selenium-20-years)

[![Playwright Testing on TestingBot](https://testingbot.com/assets/blog/2023/playwright-testing.jpg)](https://testingbot.com/blog/playwright-testing-introduction "Playwright Testing on TestingBot")

### [Playwright Testing on TestingBot](https://testingbot.com/blog/playwright-testing-introduction)

Learn how Playwright can run your automated tests on a variety of browsers, local or remote browsers on TestingBot.

[Read article →](https://testingbot.com/blog/playwright-testing-introduction)

[![February 2023 Product Updates](https://testingbot.com/assets/blog/2023/feb_prod_update.jpg)](https://testingbot.com/blog/february-2023-updates "February 2023 Product Updates")

### [February 2023 Product Updates](https://testingbot.com/blog/february-2023-updates)

An overview of the exciting new features released on TestingBot in February.

[Read article →](https://testingbot.com/blog/february-2023-updates)

## More by Jochen D.

[![Announcing AI Test Insights](https://testingbot.com/assets/blog/2026/ai-insights.jpg)](https://testingbot.com/blog/ai-test-insights "Announcing AI Test Insights")
### [Announcing AI Test Insights](https://testingbot.com/blog/ai-test-insights)

Use AI Insights to quickly discover why an automated test failed.

[![Maestro Physical Device Testing](https://testingbot.com/assets/blog/2026/maestro-physical.jpg)](https://testingbot.com/blog/maestro-physical-device-testing "Maestro Physical Device Testing")
### [Maestro Physical Device Testing](https://testingbot.com/blog/maestro-physical-device-testing)

Maestro testing in parallel on physical Android and iOS devices.

[![tvOS Physical Device Testing](https://testingbot.com/assets/blog/2025/appletv.jpg)](https://testingbot.com/blog/tvos-automated-testing "tvOS Physical Device Testing")
### [tvOS Physical Device Testing](https://testingbot.com/blog/tvos-automated-testing)

Run automated tvOS tests on physical AppleTV devices.

[See all posts by Jochen D. →](https://testingbot.com/about/jochen-d)

## Ready to start testing?
[Start a free trial](https://testingbot.com/users/sign_up)
