Skip to content

[POC] test(e2e): run gui test on Windows - #1097

Draft
Asmitapaudel wants to merge 1 commit into
opencloud-eu:mainfrom
Asmitapaudel:test/run-test-on-windows
Draft

Asmitapaudel wants to merge 1 commit into
opencloud-eu:mainfrom
Asmitapaudel:test/run-test-on-windows

Conversation

@Asmitapaudel

@Asmitapaudel Asmitapaudel commented Sep 11, 2026

Copy link
Copy Markdown
Contributor

Windows GUI Test Automation

Objective

Set up and run OpenCloud Desktop GUI tests on Windows using Appium and NovaWindows, and verify that the existing Behave-based GUI test framework can automate the Windows application.

What is NovaWindows?

NovaWindows is an Appium driver for Windows desktop application automation. It uses Windows UI Automation to discover and interact with UI elements in Windows applications.

In this POC, NovaWindows provides the connection between Appium and the OpenCloud Desktop Windows application:

Appium
  ↓
NovaWindows
  ↓
Windows UI Automation
  ↓
OpenCloud Desktop

Setup

The Windows test environment includes:

  • Windows 11
  • Python / uv
  • Node.js / npm
  • Appium
  • NovaWindows Appium driver
  • OpenCloud Desktop

NovaWindows was installed as an Appium driver and successfully loaded by the Appium server.

Backend

The OpenCloud backend is started using Docker Compose:

cd .\desktop\
docker compose up

The GUI test environment is configured with the backend address and Windows OpenCloud executable path.

Example:

APP_PATH=<path-to-opencloud.exe>
BACKEND_HOST=<backend-url>

Running the Tests

Start Appium:

cd .\desktop\test\gui\
.\woodpecker\run_appium-webdriver.sh

Run the scenario:

cd .\desktop\test\gui\
uv run behave .\features\add-account\account.feature:10

Linux vs Windows

Linux Windows
Appium Python Client Appium Python Client
PyAutoGUI PyAutoGUI
AT-SPI WebDriver NovaWindows
AT-SPI Windows UI Automation

Scenario Under Test

The POC focuses only on:

Feature: adding an account

Scenario: Check default options in advanced configuration

Run with:

uv run behave .\features\add-account\account.feature:10

The scenario verifies that the OpenCloud Desktop window can be started and that the Advanced configuration UI element can be located through NovaWindows..

Result

The Windows Appium/NovaWindows setup successfully starts and connects to the OpenCloud Desktop process.

The Advanced configuration element can also be discovered through Windows UI Automation, with properties such as:

Name: Advanced configuration
ControlType: CheckBox
ClassName: QGroupBox
Displayed: True
Enabled: True

However, clicking the element does not currently produce the expected state change. Therefore, the scenario is not yet fully passing and requires further investigation of the NovaWindows interaction with this Qt control.

Current Status

The POC successfully establishes the Windows automation flow:

Behave β†’ Appium Python Client β†’ Appium β†’ NovaWindows β†’ Windows UI Automation β†’ OpenCloud Desktop

@Asmitapaudel
Asmitapaudel force-pushed the test/run-test-on-windows branch 5 times, most recently from 6c3e542 to 8d3dfe4 Compare September 16, 2026 05:43
@Asmitapaudel
Asmitapaudel force-pushed the test/run-test-on-windows branch from 8d3dfe4 to 859d0a6 Compare September 16, 2026 06:57
@Asmitapaudel Asmitapaudel changed the title test(e2e): run gui test on Windows [POC] test(e2e): run gui test on Windows Sep 16, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant