Есть ли эквивалент Pywinauto для автоматизации GUI из Python?

pywinauto - это набор модулей python для автоматизации графического интерфейса Microsoft Windows. В простейшем случае он позволяет отправлять действия мыши и клавиатуры в диалоговые окна и элементы управления Windows.

Есть ли Linux-эквивалент этого модуля Python?

Спасибо!

2 ответа

Проект тестирования рабочего стола Linux (ldtp) должен предложить то, что вам нужно. С питоном-ldtp Установите python-ldtp пакет, вы можете написать сценарии на Python. В проекте используются методы доступности для выполнения действий, поэтому рассматриваемое приложение должно быть "стандартным" приложением GTK/QT/…, и вам необходимо включить доступность ("Вспомогательные технологии").

sudo apt-get install python-ldtp

Следующий скрипт Python будет нажимать кнопку "Создать" в (уже существующем) окне Gedit и вводит строку foo:

#!/usr/bin/python

from ldtp import *
from ldtputils import *
click('*-gedit', 'btnNew') 
generatekeyevent('foo')

Вы можете использовать Sikuli (теперь называется SikuliX)

URL: http://www.sikuli.org/

По данным сайта:

SikuliX автоматизирует все, что вы видите на экране своего настольного компьютера под управлением Windows, Mac или Linux/Unix. Он использует распознавание изображений на основе OpenCV для идентификации и управления компонентами графического интерфейса. Это удобно в тех случаях, когда нет простого доступа к внутренним компонентам графического интерфейса пользователя или к исходному коду приложения или веб-страницы, с которой вы хотите работать.

SikuliX поддерживает в качестве языков сценариев:

  • Уровень языка Python 2.7 (поддерживается Jython)
  • Уровень языка Ruby 1.9 и 2.0 (поддерживается JRuby)

… И вы можете использовать его в Java-программировании и программировании / написании сценариев с любым Java-ориентированным языком программирования / сценариев (Jython, JRuby, Scala, Clojure, …).

Хотя SikuliX в настоящее время недоступен ни на одном мобильном устройстве, его можно использовать с соответствующими эмуляторами на настольном компьютере или на основе решений VNC.

Пожалуйста, помните, что это бета-версия.

Другие вопросы по тегам