Python Forum

Full Version: Handling Thick client applications using Python
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
I need some advices from Python experts for one of my automation requirement that I am planning to succeed using Python.

This requirement is for automating the infrastructure activities like (1) stopping the running components in Virtual Machine, (2) copying files / running SQLs / deploying new codes (3) starting Virtual Machine.

Following are my concerns with regards to this activity?

(a) Stopping some of the running components using Windows Thick-client applications. By using Python, what is the possible way to invoke a windows thick-client application, and do some actions like clicking specific button, reading text messages from specific field, handling alert messages?

(b) Until this time, files are manually copying from local to Virtual machine using WinSCP (Windows Secure Copy). This tool is used for the reason behind that some files are copying in ‘binary’ mode – where this feature is in-built within this tool.

Can we handle this tool using Python or any other way that we can copy the files from local to Virtual Machines in ‘binary’ mode?

I have some background on Selenium (using JAVA) and Shell scripting and started learning Python on these recent days. Your guidance for me will be highly helpful. I am not looking for code, instead advice on Python module or best possible way to handle Thick client applications and to do so actions within it.

  1. Starting, stopping processes: psutil
    Starting, stopping, creating windows services: pywinservicemanager
    Gui automation: PyAutoGUI
    For alert messages you need a kind of handler. Maybe PyAutogui can do this also, but I have only once time used it for a very simple task (seeking a Button with a screenshot of the button and clicking it).
  2. paramiko and to abstract paramiko you can use scp.


Python 3 can handle binary data strings with encoding.
For Selenium is also a Python-Wrapper/Port available.

For example the LibVirtManager on Linux for KVM is using Python.