[#] Автоматизируем десктопный GUI на Python + pywinauto: как подружиться c MS UI Automation
habrabot(difrex,1) — All
2017-07-13 13:30:13


Python библиотека [pywinauto][1] — это open source проект по автоматизации десктопных GUI приложений на Windows. За последние два года в ней появились новые крупные фичи:


* Поддержка технологии MS UI Automation. Интерфейс прежний, и теперь поддерживаются: WinForms, WPF, Qt5, Windows Store (UWP) и так далее — почти все, что есть на Windows.
* Система бэкендов/плагинов (сейчас их двое под капотом: дефолтный `"win32"` и новый `"uia"`). Дальше плавно двигаемся в сторону кросс-платформенности.
* Win32 хуки для мыши и клавиатуры (hot keys в духе pyHook).

Также сделаем небольшой обзор того, что есть в open source для десктопной автоматизации (без претензий на серьезное сравнение).



Эта статья — частично расшифровка доклада с конференции SQA Days 20 в Минске ([видеозапись][2] и [слайды][3]), частично русская версия [Getting Started Guide][4] для pywinauto.


* Основные подходы
* [Координатный метод][5]
* [Распознавание эталонных изображений][6]
* [Accessibility технологии][7]
* Основные десктопные accessibility технологии
* [Старый добрый Win32 API][8]
* [Microsoft UI Automation][9]
* [AT-SPI (Linux)][10]
* [Apple Accessibility API][11]
* [Как начать работать с pywinauto][12]
* [Входные точки для автоматизации][13]
* [Спецификации окон/элементов][14]
* [Магия доступа по атрибуту и по ключу][15]
* [Пять правил для магических имен][16]
[Читать дальше →][17]

[1]: http://pywinauto.github.io/
[2]: https://www.youtube.com/watch?v=S__GZvPuyNw
[3]: https://www.slideshare.net/VLDCORP/gui-69866193
[4]: https://pywinauto.readthedocs.io/en/latest/getting_started.html
[5]: /post/323962#koordinatnyy-metod
[6]: /post/323962#raspoznavanie-etalonnyh-izobrazheniy
[7]: /post/323962#accessibility-tehnologii
[8]: /post/323962#staryy-dobryy-win32-api
[9]: /post/323962#microsoft-ui-automation
[10]: /post/323962#at-spi
[11]: /post/323962#apple-accessibility-api
[12]: /post/323962#kak-nachat-rabotat-s-pywinauto
[13]: /post/323962#vhodnye-tochki-dlya-avtomatizacii
[14]: /post/323962#specifikacii-okonelementov
[15]: /post/323962#magiya-dostupa-po-atributu-i-po-klyuchu
[16]: /post/323962/#pyat-pravil-dlya-magicheskih-imen
[17]: https://habrahabr.ru/post/323962/?utm_source=habrahabr&utm_medium=rss&utm_campaign=feed_posts#habracut