Есть ли эквивалент Pywinauto для автоматизации GUI из Python?
pywinauto - это набор модулей python для автоматизации графического интерфейса Microsoft Windows. В простейшем случае он позволяет отправлять действия мыши и клавиатуры в диалоговые окна и элементы управления Windows.
Есть ли Linux-эквивалент этого модуля Python?
Спасибо!
2 ответа
Проект тестирования рабочего стола Linux (ldtp) должен предложить то, что вам нужно. С питоном-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)
По данным сайта:
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.
Пожалуйста, помните, что это бета-версия.