Skip to main content

Robot Framework AppiumLibrary extension for Windows desktop automation using NovaWindows Driver instead of WinAppDriver.

Project description

Robot Framework AppiumLibrary Compatible with NovaWindows Driver


Overview

This library extends AppiumLibrary to provide compatibility with the NovaWindows Driver for Appium 2.x.

It allows you to automate Windows desktop applications using Robot Framework with minimal setup.


Note

  • NovaWindows Driver currently uses a PowerShell session as its back-end.
    • No Developer Mode required
    • No extra dependencies required
  • A future update is planned to move to a .NET-based backend for:
    • Improved reliability
    • Better error handling
    • More feature support beyond PowerShell limitations

Reference: AutomateThePlanet/appium-novawindows-driver


Installation

1. On the Test Runner (local machine)

Install the Robot Framework library:

pip install robotframework-appiumwindows

This is the only requirement on the machine where you run Robot Framework tests.
No need to install Node.js or Appium here.


2. On the Target Machine (remote machine under test)

This is where the Appium server and NovaWindows driver must be installed.

  1. Install Node.js
    Download Node.js

  2. Install Appium globally:

    npm install -g appium
    
  3. Install NovaWindows Driver:

    appium driver install --source=npm appium-novawindows-driver
    
  4. Start the Appium server:

    appium --relaxed-security
    

    (use --relaxed-security if you plan to execute PowerShell commands)


Example Test

*** Settings ***
Library    AppiumLibrary

Test Setup       Open Root Session
Test Teardown    Appium Close All Applications


*** Test Cases ***
Type To Notepad
    [Documentation]    Launch Notepad, type text, and close without saving
    Appium Execute Powershell Command    Start-Process "notepad"
    Appium Input    class=Notepad    This is example{enter 3}Close without save
    Appium Click    //Window[@ClassName='Notepad']//Button[@Name='Close']
    Appium Click    name=Don't Save


*** Keywords ***
Open Root Session
    ${parameters}=    Create Dictionary
    ...    remote_url=http://<TARGET_MACHINE_IP>:4723
    ...    platformName=Windows
    ...    appium:app=Root
    ...    appium:automationName=NovaWindows
    ...    appium:newCommandTimeout=30
    Open Application    &{parameters}

Architecture

+--------------------------+         +----------------------------+
|  Test Runner (Local PC)  |         |  Target Machine (Windows)  |
|--------------------------|         |----------------------------|
| - Robot Framework        |         | - Node.js                  |
| - robotframework-        |  --->   | - Appium 2.x               |
|   appium-windows (pip)   |         | - NovaWindows Driver       |
+--------------------------+         +----------------------------+

References


Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

robotframework_appiumwindows-0.1.0.tar.gz (36.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

robotframework_appiumwindows-0.1.0-py3-none-any.whl (42.7 kB view details)

Uploaded Python 3

File details

Details for the file robotframework_appiumwindows-0.1.0.tar.gz.

File metadata

File hashes

Hashes for robotframework_appiumwindows-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9e1cd2ff399c7e8fd945cd275dee74b14ba853ef223bda8e9f2923bc41f44521
MD5 9067ade587564b4336ffacd35a04d61d
BLAKE2b-256 e22427062724bd200038b26dbafc7f13ba7cd126348ca85e42c4bc85d01f936e

See more details on using hashes here.

File details

Details for the file robotframework_appiumwindows-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for robotframework_appiumwindows-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6db88ad3dc55cf79833c56a2aac908421850da538b0a9e8f77c88545da345008
MD5 30df29e15ce2d12f419608a661ae3d25
BLAKE2b-256 227af54334c59722118c2e3dbc277a9068f43655b755584ca234b3d20f7616ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page