Existe um equivalente pywinauto para automatizar a GUI do Python?

7

pywinauto é um conjunto de módulos python para automatizar a GUI do Microsoft Windows. No mais simples, permite enviar ações de mouse e teclado para diálogos e controles do Windows.

Existe um equivalente linux deste módulo python?

obrigado!

    
por Jim Syyap 07.07.2011 / 11:18

2 respostas

4

O projeto de teste de desktop linux (ldtp) deve oferecer o que você precisa. Com o python-ldtp pacote, você pode escrever scripts em python. O projeto usa os métodos de acessibilidade para executar ações, então o aplicativo em questão tem que ser um aplicativo “padrão” GTK / QT /… e você precisa habilitar a acessibilidade (“Tecnologias Assistivas”).

sudo apt-get install python-ldtp

O seguinte script python clicaria no botão "Novo" em uma janela do gedit (já existente) e digitaria a string foo :

#!/usr/bin/python

from ldtp import *
from ldtputils import *
click('*-gedit', 'btnNew') 
generatekeyevent('foo')
    
por Marcel Stimberg 29.07.2011 / 13:06
0

Você pode usar o Sikuli (agora chamado SikuliX)

URL: www.sikuli.org

De acordo com o site:

  

O SikuliX automatiza tudo o que você vê na tela da sua área de trabalho   computador com Windows, Mac ou Linux / Unix. Usa imagem   reconhecimento alimentado pelo OpenCV para identificar e controlar componentes GUI.   Isso é útil em casos em que não há acesso fácil a uma GUI   internals ou o código-fonte do aplicativo ou página da web que você deseja   para agir.

     

O SikuliX suporta como linguagens de script:

     
  • Nível de linguagem Python 2.7 (suportado pelo Jython)
  •   
  • Nível de linguagem Ruby 1.9 e 2.0 (suportado pelo JRuby)
  •   

... e você pode usá-lo em programação Java e   programação / scripting com qualquer programação / script ciente de Java   linguagem (Jython, JRuby, Scala, Clojure,…).

     

Embora o Sikulix não esteja disponível atualmente em nenhum dispositivo móvel, ele pode   ser usado com os respectivos emuladores em um computador desktop ou com base   em soluções VNC.

Por favor, tenha em mente que está em beta.

    
por Edenshaw 24.09.2014 / 23:49