All Projects → pywinauto → Pywinauto

pywinauto / Pywinauto

Licence: bsd-3-clause
Windows GUI Automation with Python (based on text properties)

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Pywinauto

pywinauto recorder
A record-replay tool to automate GUI via pywinauto
Stars: ✭ 48 (-98.49%)
Mutual labels:  ui-automation, testing-tools, user-interface, pywinauto, uiautomation, ui-automated-tests
Flaui
UI automation library for .Net
Stars: ✭ 892 (-71.91%)
Mutual labels:  automation, testing-tools, qa, gui, user-interface
FlaUIRecorder
UIAutomation test recorder for using with FlaUI library.
Stars: ✭ 23 (-99.28%)
Mutual labels:  testing-tools, uiautomation, ui-automated-tests
Earlgrey
🍵 iOS UI Automation Test Framework
Stars: ✭ 5,353 (+68.6%)
Mutual labels:  automation, testing-tools, ui-automated-tests
Qa Checks V4
PowerShell scripts to ensure consistent and reliable build quality and configuration for your servers
Stars: ✭ 94 (-97.04%)
Mutual labels:  automation, qa
Iced
A cross-platform GUI library for Rust, inspired by Elm
Stars: ✭ 12,176 (+283.5%)
Mutual labels:  gui, user-interface
Automation Arsenal
Curated list of popular Java and Kotlin frameworks, libraries and tools related to software testing, quality assurance and adjacent processes automation.
Stars: ✭ 105 (-96.69%)
Mutual labels:  automation, qa
Avalonia
A cross platform XAML framework for .NET
Stars: ✭ 12,588 (+296.47%)
Mutual labels:  gui, user-interface
Reportportal
Main Repository. Report Portal starts here - see readme below.
Stars: ✭ 1,175 (-62.99%)
Mutual labels:  automation, testing-tools
Horus ui
HorusUI Immediate Mode Graphical User Interface
Stars: ✭ 106 (-96.66%)
Mutual labels:  gui, user-interface
Qxf2 Page Object Model
Write Selenium and Appium tests in Python using the Page Object pattern. This Pythonic GUI and API test automation framework will help you get started with QA automation quickly. It comes with many useful integrations like - email, BrowserStack, Slack, TestRail, etc. This repository is developed and maintained by Qxf2 Services (https://qxf2.com).
Stars: ✭ 155 (-95.12%)
Mutual labels:  automation, qa
Patternfly Design
Use this repo to file all new feature or design change requests for the PatternFly project
Stars: ✭ 82 (-97.42%)
Mutual labels:  gui, user-interface
Php codesniffer
PHP_CodeSniffer is a set of two PHP scripts; the main phpcs script that tokenizes PHP, JavaScript and CSS files to detect violations of a defined coding standard, and a second phpcbf script to automatically correct coding standard violations. PHP_CodeSniffer is an essential development tool that ensures your code remains clean and consistent.
Stars: ✭ 9,004 (+183.59%)
Mutual labels:  automation, qa
Aet
AET - a system that detects visual changes on web sites and performs basic page health checks
Stars: ✭ 100 (-96.85%)
Mutual labels:  automation, qa
Server Qa Checks
A bunch of QA checks to run against one or more servers to make sure they are built to a specific standard.
Stars: ✭ 72 (-97.73%)
Mutual labels:  automation, qa
Foot traffic
Pure Ruby DSL for Chrome scripting based on Ferrum. No Selenium required. Works from any script. Simulate web app usage scenarios in production or locally.
Stars: ✭ 123 (-96.13%)
Mutual labels:  automation, qa
Hue Debugger Ui
💡 Graphical interface for observing and interacting directly with Hue API
Stars: ✭ 186 (-94.14%)
Mutual labels:  gui, user-interface
Environmentoverrides
QA assistant for a SwiftUI app: change the color scheme, accessibility settings, and localization on the fly!
Stars: ✭ 181 (-94.3%)
Mutual labels:  testing-tools, qa
Allure Docker Service
This docker container allows you to see up to date reports simply mounting your "allure-results" directory in the container (for a Single Project) or your "projects" directory (for Multiple Projects). Every time appears new results (generated for your tests), Allure Docker Service will detect those changes and it will generate a new report automatically (optional: send results / generate report through API), what you will see refreshing your browser.
Stars: ✭ 194 (-93.89%)
Mutual labels:  automation, testing-tools
Goreplay
As your application grows, the effort required to test it also grows exponentially. GoReplay offers you the simple idea of reusing your existing traffic for testing, which makes it incredibly powerful. Our state of art technique allows you to analyze and record your application traffic without affecting it. This eliminates the risks that come with putting a third party component in the critical path.
Stars: ✭ 14,981 (+371.84%)
Mutual labels:  testing-tools, qa

Donate Join the chat at https://gitter.im/pywinauto/pywinauto Documentation Status Windows Tests Linux Tests codecov.io Code Health Codacy Badge Code Quality: Python Total Alerts

pywinauto

pywinauto is a set of python modules to automate the Microsoft Windows GUI. At its simplest it allows you to send mouse and keyboard actions to windows dialogs and controls, but it has support for more complex actions like getting text data.

Supported technologies under the hood: Win32 API (backend="win32"; used by default), MS UI Automation (backend="uia"). User input emulation modules mouse and keyboard work on both Windows and Linux.

Enjoying this?

Just star the repo or make a donation.

paypal

Your help is valuable since this is a hobby project for all of us: we do new features development during out-of-office hours.

  • In general the library tends to be cross-platform in the near future (Linux in 2018, macOS in 2019).
  • Reliable text based "record-replay" generator is also a high priority feature under development.
  • More feature requests and discusions are welcome in the issues.

Setup

  • run pip install -U pywinauto (dependencies will be installed automatically)

Documentation / Help

Simple Example

It is simple and the resulting scripts are very readable. How simple?

from pywinauto.application import Application
app = Application().start("notepad.exe")

app.UntitledNotepad.menu_select("Help->About Notepad")
app.AboutNotepad.OK.click()
app.UntitledNotepad.Edit.type_keys("pywinauto Works!", with_spaces = True)

MS UI Automation Example

More detailed example for explorer.exe:

from pywinauto import Desktop, Application

Application().start('explorer.exe "C:\\Program Files"')

# connect to another process spawned by explorer.exe
# Note: make sure the script is running as Administrator!
app = Application(backend="uia").connect(path="explorer.exe", title="Program Files")

app.ProgramFiles.set_focus()
common_files = app.ProgramFiles.ItemsView.get_item('Common Files')
common_files.right_click_input()
app.ContextMenu.Properties.invoke()

# this dialog is open in another process (Desktop object doesn't rely on any process id)
Properties = Desktop(backend='uia').Common_Files_Properties
Properties.print_control_identifiers()
Properties.Cancel.click()
Properties.wait_not('visible') # make sure the dialog is closed

Dependencies (if install manually)

  • Windows:
  • Linux:
  • Optional packages:
    • Install Pillow (by pip install -U Pillow) to be able to call capture_as_image() method for making a control's snapshot.

Packages required for running unit tests

Run all the tests: python ./pywinauto/unittests/testall.py

Contribution

Pull requests are very welcome. Read Contribution Guide for more details about unit tests, coding conventions, etc.

Copyrights

Pywinauto for native Windows GUI was initially written by Mark Mc Mahon. Mark brought many great ideas into the life using power of Python. Further contributors are inspired of the nice API so that the development continues.

Starting from 0.6.0 pywinauto is distributed under the BSD 3-clause license. Pywinauto 0.5.4 and before was distributed under the LGPL v2.1 or later.

  • (c) The Open Source Community, 2015-2018 (0.6.0+ development)
  • (c) Intel Corporation, 2015 (0.5.x maintenance)
  • (c) Michael Herrmann, 2012-2013 (0.4.2)
  • (c) Mark Mc Mahon, 2006-2010 (0.4.0 and before)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].