Возможности pywinauto
#1
Отправлено 08 февраля 2012 - 08:20
Бросаю вопрос в эту ветку, т.к. TestComplete - самый знакомый продукт для тестирования GUI.
Питон, с другой стороны - тоже язык с очень развитыми средствами, и даже более универсальный.
Хочется узнать, какие возможности и ограничения есть в pywinauto насчет распознавания GUI контролов и их свойств.
Чего будет не хватать по сравнению с TC? Что будет лучше? (Только прошу не писать про фирменные компоненты типа DDT, Keyword testing и т.д. или про развитую IDE - интересует именно работа с контролами на уровне скриптов).
Спасибо.
#2
Отправлено 09 февраля 2012 - 08:29
- Во-первых, она предназначена только для работы со стандартными Win32 контролами. .NET, Delphi, Qt и прочие контролы распознаваться не будут вообще.
- Во-вторых, там нет никакого аналога Object Spy, т.е. нет возможности навести курсор мыши на контрол и получить по нему всю информаци (т.е. свойства и их значения).
- В-третьих, нет никакой возможности делать скриншоты, т.е. для этого нужно подключать какую-то еще дополнительную библиотечку. Я не нашел подобной нормальной бесплатной (на питоне, естественно), если найдете - буду вам очень признателен за информацию.
- В-четвёртых, очень не хватает возможности обратиться к окну по индексу (т.е. например есть у нас 2 одинаковых окна с одинаковыми заголовками, я хочу обратиться к тому, которое было открыто вторым), в том же ТестКомплите или СилкТесте эта возможность есть.
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#3
Отправлено 09 февраля 2012 - 09:13
http://www.pythonwar...m/products/pil/
и пример использования
http://www.blendedte...t-python-pil/38
К сожалению, в случае наличия 2х мониторов, скриншот снимается только с основного экрана
TestComplete для начинающих (видеозаписи курса)
Software Testing Automation Tips (50 вещей, которые должен знать каждый автоматизатор, книга на английском языке)
Онлайн-учебник "Автоматизация тестирования от «А» до «Ы»"
Сборник рецептов по TestComplete (книга на английском языке)
Онлайн-учебник по TestComplete
Онлайн-учебник по SilkTest
#4
Отправлено 09 февраля 2012 - 21:33
А в качестве Object Spy можно использовать AutoITВо-вторых, там нет никакого аналога Object Spy, т.е. нет возможности навести курсор мыши на контрол и получить по нему всю информаци (т.е. свойства и их значения).
SQL для тестировщиков
Тренинги по HP QTP и автоматизации тестирования
Если минарет, значит выше всех (с)
#5
Отправлено 09 февраля 2012 - 22:42
Про 2 монитора и Python я здесь писал.Вопрос со скриншотами закрыт.
http://www.pythonwar...m/products/pil/
и пример использования
http://www.blendedte...t-python-pil/38
К сожалению, в случае наличия 2х мониторов, скриншот снимается только с основного экрана
Что касается pywinauto, то, имхо, лучше использовать AutoIT+Python, хотя бы по той причине, что последнему коммиту в репозитории pywinauto недавно исполнился год. Да и комьюнити у AutoIT'a есть.
#6
Отправлено 26 мая 2012 - 19:21
Интересует опыт тех, кто использовал библиотечку pywinauto для питона.
Бросаю вопрос в эту ветку, т.к. TestComplete - самый знакомый продукт для тестирования GUI.
Питон, с другой стороны - тоже язык с очень развитыми средствами, и даже более универсальный.
Хочется узнать, какие возможности и ограничения есть в pywinauto насчет распознавания GUI контролов и их свойств.
Чего будет не хватать по сравнению с TC? Что будет лучше? (Только прошу не писать про фирменные компоненты типа DDT, Keyword testing и т.д. или про развитую IDE - интересует именно работа с контролами на уровне скриптов).
Спасибо.
Успешно использую pywinauto + python в продакшине для тестирования UI и функциональности(через UI). Cтандартные контролы.
Ограничения уже вам осветили, хотел бы остановиься на возможностях. Это работа с обычными контролами, составными контролами (например чекбокс в листвивере), работа с кнопками в трее, инструментарий функций ожидания события - wait (например, ждать максимум 3сек пока окно станет активным).
В свое время пробовал ТС - не впечатлил, ни удобством самого языка (ов), ни полезностью рекордера тестов. Все равно приходилось тест писать вручную не на самом простом языке. К тому же эта балалайка стоит не мало.
Еще подкупает возможность запаковать тест в исполняемый файл и пускать на голой системе(это про python).
Сообщение отредактировал moden: 26 мая 2012 - 19:22
#7
Отправлено 26 мая 2012 - 19:31
У меня есть опыт полгода работы с этой библиотечкой, автоматизирую тестирование инсталлятора с ее помощью.
В остальном библиотека очнь простая и удобная, очень рекомендую.
- Во-первых, она предназначена только для работы со стандартными Win32 контролами. .NET, Delphi, Qt и прочие контролы распознаваться не будут вообще.
- Во-вторых, там нет никакого аналога Object Spy, т.е. нет возможности навести курсор мыши на контрол и получить по нему всю информаци (т.е. свойства и их значения).
- В-третьих, нет никакой возможности делать скриншоты, т.е. для этого нужно подключать какую-то еще дополнительную библиотечку. Я не нашел подобной нормальной бесплатной (на питоне, естественно), если найдете - буду вам очень признателен за информацию.
- В-четвёртых, очень не хватает возможности обратиться к окну по индексу (т.е. например есть у нас 2 одинаковых окна с одинаковыми заголовками, я хочу обратиться к тому, которое было открыто вторым), в том же ТестКомплите или СилкТесте эта возможность есть.
>Во-первых,
Абсолютно с Вами согласен. Это головная боль, так как один из моих проектов использует htmllayout, который, кстати, не видит ни ТС ни AutoIT.
>Во-вторых
Точно, но я исправил эту жестокую несправедливость.
Представляю свой проект SWAPY. Аналог UI SPY, умеет немного генерить код для pywinauto
Конструктивная критика и предложения приветствуются!
>В-третьих
Уже решено.
>В-четвёртых
Вот тут позвольте с Вами не согласиться. Пример:
pywinauto.findwindows.find_windows(title_re=u'SWAPY - Simple Windows Automation on Python. v 0.4.1', class_name='wxWindowClassNR')Вернет список хендлов всех окон, подпадающих под критерии поиска.
Сообщение отредактировал moden: 26 мая 2012 - 19:32
Количество пользователей, читающих эту тему: 1
0 пользователей, 1 гостей, 0 анонимных